1. 判断是否是空的数组
{"prop.position.0":{$exists:true}}
2. 查询时array只返回满足条件的元素
db.article.aggregate({$match:{"_id":ObjectId("592533042de6394524d9d92c")}},
{$project:{_id:1,chart:1}}, //排除你不想要的列,都想要的话就排除个不存在的列名
{$unwind:"$chart"}, //展开chart数组
{$match:{'chart.title':"1"}},//chart.title=1.这里不能放到前面的match中,因为这是pipeline,放到前面再unwind的话还是2条chart
{$group:{_id:"$_id",chart:{$push:"$chart"}}}//把想要的列放进来,task做push操作
)
unwind把嵌套的数组展开
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。