【发布时间】:2020-07-06 10:26:26
【问题描述】:
我的问题建立在这个基础上:Get only the last element of array mongoose。但是,我正在使用 Mongoose,并且还想更新数组最后一个元素中的一个字段,而不仅仅是检索它。
如何修改rounds 数组中的最后一个元素/对象,以将status: started 更改为status: terminated?
要修改的文档
{
"_id" : "8844d3f2d25f45df8105db1ab058d7d6",
"rounds" : [
{ "status" : "offline" },
{ "status" : "paused" },
{ "status" : "started" }
],
"updatedAt" : ISODate("2020-07-05T21:21:58.823Z")
}
似乎使用负索引会使这变得容易,允许修改 n-1 元素。我看到很多问题都提到了聚合,但没有一个修改基础数据。我想将聚合与更新文档结合起来。
是否可以将$set 与负索引一起使用?
【问题讨论】: