【发布时间】:2017-05-18 16:50:18
【问题描述】:
我有以下包含数组的示例数据。我试图从消息数组中取消设置或删除嵌套对象。
样本数据:
{
"_id" : ObjectId("51e98d196b01c2085c72d731"),
"messages" : [ { "defaultId" :{
"_id" : ObjectId("520167056b01c20bb9eee987")
},
"id" : ObjectId("520167056b01c20bb9eee988")
}
]
}
查询:
db.rename_collection.update({"messages._id":{$exists: true}},
{$unset: {"messages.$.defauliId": {"_id": ""} }} )
结果:什么都没有发生 - 没有错误,也没有未设置。
我必须对上述数据执行一些额外的操作: - 我必须将“id”属性名称设置为“userId”。 - 将新信息添加为“id”:“newInfo”(我希望我可以使用 $addToSet)
你能看看我的查询吗?可能是什么问题?
【问题讨论】:
-
查询部分应该是“messages.id”??
标签: mongodb mongodb-query