在mongodb中查找包含给定子字段的所有记录

21

在 mongodb 中,我可以使用以下查询语句找到数据库 db 中包含特定字段的所有记录:

var doc = db.collection_name.find({field_name:{$exists:true}})

现在考虑以下文档:

{
  "somefield":"someval",
  "metadata": {"id":"someval",
               "client_url":"http://www.something.com"

              }
}

如何查询具有metadata中id字段的所有记录?

请帮忙。 谢谢。

1个回答

33

您可以使用点符号来引用子文档字段

var doc = db.collection_name.find({"metadata.id":{$exists:true}})

3
您也可以将其写成:db.collection_name.find({metadata: {id: {$exists: true}}}) - Alejandro García Iglesias
@AlejandroGarcíaIglesias 您的解决方案似乎仅适用于4.4版本(https://www.mongodb.com/docs/manual/reference/method/db.collection.find/) - Jean Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接