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 })
否则你所要求的具有“准确”,只有一个单一的与所请求的值对象的文档。这只是问“一个可能的价值匹配”。