6
我有一個結構類似這樣
{
"brand": "BMW",
"models": ["320","545"]
}
模型文件必須是唯一的,而我使用下面的查詢中添加新項目時,
db.cars.update(
{brand:'BMW'},
{
$addToSet: {
models: '750'
}
},
{upsert:true}
);
這將使
{
"brand": "BMW",
"models": ["320","545","750"]
}
問題:
我該如何限制物品'模型'可以擁有的總數?假設我只想保留最後3個增加的模型。所以,如果我插入一個新的模式「135」我最終會與
{
"brand": "BMW",
"models": ["545","750","135"]
}
我看了一下$slice
修改但它似乎使用$push
而不是$addToSet
謝謝你的回答,我一直只用mongo幾天,並認爲像這樣的事情是微不足道的。從我收集的鏈接中可以看出,陣列和集合之間似乎存在特別的區別,這是我不知道的。 – lostsource
您提到的[SERVER-8512:支持$ slice/sort in $ addToSet](https://jira.mongodb.org/browse/SERVER-8512)「請求」已經被關閉爲「絕對不會修復」不要屏住呼吸;-)。集合目前以數組的形式實現,但將'$ addToSet'修飾符與數組'$ slice'結構混合在一起是沒有意義的。套件應被視爲無序。 – Stennie