[英]Mongodb: how to update some elements and remove the rests of an array in an single operation?
對於一個數組,我想更新一些元素並保持數組的大小不大於 N。如何在單個操作中完成? 讓我們舉個例子來說明我的問題:
1)db.test.insertOne({a:[1, 100, 3, 5, 600]});
{
"_id" : ObjectId("5fc5a14e1b800790b21afa65"),
"a" : [
1.0,
100.0,
3.0,
5.0,
600.0
]
}
2) change it to
{
"_id" : ObjectId("5fc5a14e1b800790b21afa65"),
"a" : [
1.0,
100.0,
5.0
]
}
如上圖,a[2]->5,且N=3,只保留a[0],a[1],a[2]。 我必須在一次操作中完成這些操作以使數據保持一致(不要考慮多個客戶端)我該怎么辦? 謝謝!
在您的情況下,我建議遵循以下邏輯:
如果您的應用程序“經常”遇到第 3 種情況,則意味着您設計了錯誤的數據結構來解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.