我需要在 MondoDB 中維護一個只有 5 個元素的物件陣列,如果要添加另一個元素,則洗掉第一個元素并添加新元素,但始終只有 5 個元素。有沒有辦法做到這一點?
我正在使用 Express 和 MongoDB,這是我的模型的一部分,我需要保留只有 5 個物件的陣列:
lastModificationBy: [{
uid:{
type: String,
required:true
},
username:{
type: String,
required:true
},
date:{
type: Number,
required:true
}
}],
要推送陣列中的每個元素,我使用以下命令:
let product = await Product.findByIdAndUpdate( id,
{
$set: data,
$push: { 'lastModificationBy': lastModification }
}
);
謝謝!
uj5u.com熱心網友回復:
您正在使用Mongoose而不是Mongodb native driver.
請嘗試讓我知道以下是否有效。我無權訪問 MongoDB,因此無法測驗
let product = await Product.findByIdAndUpdate(id, {
$set: data,
$push: {
'lastModificationBy': {
$each: [lastModification],
$slice: -5
}
}
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/417368.html
標籤:
上一篇:如何修復無法延遲初始化集合
