gpt4 book ai didi

javascript - Mongoose:向现有对象添加更多项目

转载 作者:行者123 更新时间:2023-11-28 05:18:35 25 4
gpt4 key购买 nike

使用 Mongoose,如何向对象添加更多项目而不替换现有项目?

 User.findOneAndUpdate(
{ userId: 0 },
{ userObjects: { newItem: value } }
);

上面代码的问题是,当我希望它只是向 userObjects 添加另一个项目(例如 JavaScript 数组的推送函数)时,它会清除之前存在的所有内容并用 newItem 替换它。

最佳答案

使用点表示法指定要更新/添加嵌入文档中特定字段的字段。

User.findOneAndUpdate(
{ userId: 0 },
{ "userObjects.newerItem": newervalue } }
);

User.findOneAndUpdate(
{ userId: 0 },
{ "$set":{"userObjects.newerItem": newervalue } }
);

enter image description here

或使用 $mergeObjects 聚合运算符通过传递新对象来更新现有 obj

User.findOneAndUpdate(
{"userId":0},
[{"$set":{
"userObjects":{
"$mergeObjects":[
"$userObjects",
{"newerItem":"newervalue","newestItem":"newestvalue"}
]
}
}}]
)

关于javascript - Mongoose:向现有对象添加更多项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40766450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com