如何从文档数组中提取文档数组?

时间:2018-10-09 19:14:37

标签: mongodb mongoose

我有一个这样的文件

{
    users: [
        {
            name: 'John',
            id: 1
        },
        {
            name: 'Mark',
            id: 2
        },
        {
            name: 'Mike',
            id: 3
        },
        {
            name: 'Anna',
            id: 4
        }
    ]
}

,我想从ID为2和4的数组中删除用户。为此,我执行以下代码:

const documents = [
    {
        id: 2
    },
    {
        id: 4
    },
]
Model.updateOne({ document_id: 1 }, { $pull: { users: { $in: documents } } });

但是不会删除任何用户。

您能告诉我我做错了什么以及如何获得所需的结果吗?

1 个答案:

答案 0 :(得分:2)

如果您可以重新定义documents数组的结构,这将起作用:

const documents = [2, 4]
Model.updateOne({ document_id: 1 }, { $pull: { users: { id: { $in: documents } } } })