我正在尝试从数组中删除元素:
{ "_id" : ObjectId("56728dac7e30ad640af52a88"), "key" : "inbox", "notify" : false, "unread" : [ "5" ], "user" : "admin" }
我尝试使用此查询mgr.db.update_one({"key":"inbox","user":"admin"},{"$pull":{"unread.5":""}})
以及mgr.db.update_one({"key":"inbox","user":"admin"},{"$pull":{"unread":{"5":""}})
,两者都不会从数组中删除该元素。我怎样才能做到这一点?
答案 0 :(得分:0)
$pull
运算符的格式为:
{ $pull: { <field1>: <value|condition>, <field2>: <value|condition>, ... } }
这意味着正确的查询是:
mgr.db.collection.updateOne(
{ "key": "inbox", "user": "admin"},
{ "$pull": { "unread": "5" } }
)