MongoDB删除嵌套对象

时间:2014-06-17 06:14:15

标签: node.js mongodb mongoose

我有一个这样的集合:

_id: {name: 'name', family: 'family'}

我想通过$ in使用_id删除一些对象,我怎么能这样做? 例如,我的查询应该是这样的:

db.persons.remove({_id: {$in: [ { name: 'name1', family: 'family1' }
                              , { name: 'name2', family: 'family2' }
                              ]
                        }
                 })

1 个答案:

答案 0 :(得分:1)

如果您的字段的顺序不一样,您也可以使用$or查询和点表示法执行此操作:

db.persons.remove({
    "$or": [
        { "_id.name": "name1", "_id.family": "family1" },
        { "_id.name": "name2", "_id.family": "family2" },
    }
})

不是mongoose语法,但你明白了。它在逻辑上是相同的,但是字段顺序不依赖于您指定给$in的完整对象。