在mongodb中查找包含任何子字段的所有记录

时间:2018-09-06 16:12:26

标签: mongodb nested find field

我有一个类似于Finding all records containing a given subfield in mongodb的问题,但是您不知道子字段名称。

提供以下文件:

// Document 1
{
   age: 10,
   name: "andrew",
   meta: {
      meta1: true
   }
}

// Document 2
{
   age: 10,
   name: "andrew",
   meta:{
   }
}

我想要一个查询,该查询将找到meta字段中具有为任何属性定义的值的文档。在这种情况下,这样的查询将仅与Document 1相匹配。

我尝试了以下操作:

db.col.find({ meta: { $ne: "" } }) 

但是它匹配了所有文档,包括meta没有子域的文档。

我只希望文档包含meta内容。

我一直在努力寻找和尝试,但是什么也没有。

谢谢

1 个答案:

答案 0 :(得分:1)

这很简单:

db.col.find({meta: {$ne:{}}})

你非常亲密!