从集合中删除数组

时间:2014-05-21 09:01:53

标签: mongodb mongodb-query

我在从db中删除数组时面临一个问题。

enter image description here

我希望delete[2] arrayid作为条件。

我尝试了很多东西,但没有一个能按预期给出结果。

db.users.update({ '_id': ObjectId("53689fa45bac9757f81fbb77")},{ '$pull' : { 'injury._id': ObjectId("5379974ac76d005c2d00005c") } })

3 个答案:

答案 0 :(得分:2)

我想,这样的事情应该有用

.update(..., { $pull: { injury: {_id: YOUR_ID } } })

$pull的格式为

$pull: { arrayName: { array item query } }

答案 1 :(得分:2)

使用$pull运算符删除不需要的元素:

db.collection.update(
    { "injury._id": ObjectId("53760d9820b6ee683000005c") },
    { 
        "$pull": { 
            "injury": { "_id": ObjectId("53760d9820b6ee683000005c") }
        }
    }
)

如果您发布截图时实际的_id值不匹配,请原谅我。

答案 2 :(得分:-2)

如果您正在使用PHP

,则可以使用unset()