以下文件:
{
"_id": ObjectId("5d648b0d5aeada5177bb54e4"),
"time": [{
"start": "2019/8/25 9:59:30",
"end": "2019/8/25 10:59:30"
},
{
"start": "2019/8/26 9:59:30",
"end": "2019/8/26 10:59:30"
},
{
"start": "2019/8/27 9:59:30",
"end": "2019/8/26 9:59:30"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如何更新数组中的最后一个元素?
我已经试过了:
db.document.update(
{
"_id": ObjectId("5d648b0d5aeada5177bb54e4")
},
{
$set: {
"time.-1.end": "2019/8/26 10:59:30"
}
}
)
Run Code Online (Sandbox Code Playgroud)
但它不起作用......
这很简单。获取最后一个元素的索引/位置。
var data = {
"_id" : "5d648b0d5aeada5177bb54e4",
"time" : [
{
"start" : "2019/8/25 9:59:30",
"end" : "2019/8/25 10:59:30"
},
{
"start" : "2019/8/26 9:59:30",
"end" : "2019/8/26 10:59:30"
},
{
"start" : "2019/8/27 9:59:30",
"end" : "2019/8/26 9:59:30"
}
]
}
var len = data.time.length - 1;
var objUpdate = {};
var updateQuery = "time." + len + ".end";
objUpdate[updateQuery] = "2019/8/26 11:59:30";
db.getCollection('test').update({"_id" : ObjectId("5d648b0d5aeada5177bb54e4")}, {$set:objUpdate});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1422 次 |
最近记录: |