答案是未设置上限,因为我想实时更新该数据,所以我就这样做了,并且每次都会出现有关“您无法更改集合大小等”的错误。所以...我想限制集合中的对象数量。例如,如果我将限制设置为3,并且如果我的集合中已经有3个对象,那么我想将旧的对象淘汰掉。
新商品:9
更新前收集:3、2、7 更新后收集:2、7、9
答案 0 :(得分:0)
您可以切片。
https://docs.mongodb.com/manual/reference/operator/update/slice/
开始
{ "_id" : 1, "scores" : [ 40, 50, 60 ] }
然后再切片3个项目...
db.students.update(
{ _id: 1 },
{
$push: {
scores: {
$each: [ 80, 78, 86 ],
$slice: -5
}
}
}
)
仅保留最后5个项目。
{ "_id" : 1, "scores" : [ 50, 60, 80, 78, 86 ] }
因此,在您的情况下,只需切片(-3)
答案 1 :(得分:0)
您可以:
...正在交易中。