[英]How to iterate over array with forEach and update element in Mongoose
我的用戶 model 有這個形狀:
{
name: "Some User",
events: [{title: "String", count: 1}]
}
每次用戶加載我的應用程序時,我都想遍歷每個數組並執行計算。 為簡單起見,在此代碼段中,我嘗試將計數值設置為 10000。但是,我收到此錯誤:
user.events.updateOne 不是 function。
這是我的端點代碼:
user.events.forEach((e, i) => {
user.events.updateOne(
{ _id: e._id.toString() },
{ $set: { count: 10000 } }
);
});
});
我究竟做錯了什么?
您的user
object 的events
屬性是一個數組。 而且您的陣列沒有這樣的 function upadteOne()
。 如果你想修改你的事件,你可以在你的事件上使用map
function 來改變它們的值。 前任:
user.events.map((event) => {
// we change something in the event.
event.title += "💩"
event.count = 10000
// we are returning the updated event, so it can be modified in the original array
return event;
});
// now that each event has been modified, we can save the user.
user.updateOne();
user.events.map((event) => {
event.title = event.title;
event.count = 10000
return event;
});
user.update({_id: user._id }, { $set: { events: user.events });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.