【发布时间】:2014-08-13 04:52:08
【问题描述】:
我有一个如下所示的示例文档
{
"_id" : "docID",
"ARRAY" : [
{
"k" : "value",
"T" : "20:15:35",
"I" : "Hai"
},
{
"K" : "some value",
"T" : "20:16:35",
"I" : "Hello"
},
{
"K" : "some other value",
"T" : "20:15:35",
"I" : "Update"
}
]
}
我正在尝试根据字段 "ARRAY.T"(这是我在更新时知道的唯一字段)更新“ARRAY”中的最后一个元素,但我的问题是数组中的第一个元素与查询匹配,并且其 ARRAY.I 字段被更新。
用于更新的查询:
db.collection.update( { _id: "docID","ARRAY.T" : "20:15:35"},
{ $set: { "ARRAY.$.I": "Updated value" }
})
实际上我不知道要更新的数组索引,所以我必须在查询中使用 ARRAY.I,有没有办法告诉 Mongodb 更新第一个匹配的元素从数组的最后一个查询。
【问题讨论】:
标签: mongodb mongodb-query