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

mongoDB: check if existing nested object in document

本文关键字:存在 嵌套 对象 是否 检查 文档 mongoDB      更新时间:2023-09-26

我需要一个find查询,它搜索数组中的现有属性。

如果这是文件。。。

文档

{
    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',则不会有结果。

使用"点符号"表示嵌入字段:

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

否则,您将要求一个具有"精确"且只有一个具有请求值的对象的文档。这只是问"是否匹配一个可能的值"。