我正在尝试从MongoDB集合中删除一个符合特定值条件的对象(而不是文档),在这种情况下 - “Accessible”:“null” - 同时保留此对象的其他实例。我尝试了db.collection.update({},{$ unset:{“Accessible”:“null”}},false,true)但它删除了所有带有“Accessible”键的对象。提前谢谢 更新前我的MongoDB集合
{
"_id" : ObjectId("52e5f09e8f3d99e1046abccc"),
"Name" : "Skyline",
"Accessible" : "Y"
}
{
"_id" : ObjectId("52e5f09e8f3d99e1046abccd"),
"Name" : "Highland",
"Accessible" : "null"
}
期望的结果:
{
"_id" : ObjectId("52e5f09e8f3d99e1046abccc"),
"Name" : "Skyline",
"Accessible" : "Y"
}
{
"_id" : ObjectId("52e5f09e8f3d99e1046abccd"),
"Name" : "Highland"
}
答案 0 :(得分:1)
您需要首先确定要更新的文档,然后取消设置该特定字段:
db.collection.update(
{"Accessible" : "null"},
{$unset: { "Accessible" : ""}},
{ multi: true }
)
有关$ unset运算符的更多文档: http://docs.mongodb.org/manual/reference/operator/update/unset/