mongoDB:检查文档中是否存在嵌套对象

问题描述:

我需要一个find查询,它正在搜索数组中的现有属性。mongoDB:检查文档中是否存在嵌套对象

如果是这样的文件...

文件

{ 
    id: '123', 
    attr: 'anything', 
    author: [ 
     { id: '1' }, 
     { id: '2' } 
    ] 
} 

...我要检查是否有与作者ID现有的文档:

发现查询

var id = '123'; 
var uid = '2'; 

Collection.find({ _id: id, author: { id: uid } }) 

这应该给我一个结果。

如果uid = '3'将不会有结果。

使用"dot notation"表示嵌入式领域:

Collection.find({ "_id": id, "author.id": uid }) 

否则你所要求的具有“准确”,只有一个单一的与所请求的值对象的文档。这只是问“一个可能的价值匹配”。