我在从db中删除数组时面临一个问题。
我希望delete
以[2] array
为id
作为条件。
我尝试了很多东西,但没有一个能按预期给出结果。
db.users.update({ '_id': ObjectId("53689fa45bac9757f81fbb77")},{ '$pull' : { 'injury._id': ObjectId("5379974ac76d005c2d00005c") } })
答案 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()