gpt4 book ai didi

javascript - 使用 mongoose 更新数组

转载 作者:行者123 更新时间:2023-12-02 17:06:45 25 4
gpt4 key购买 nike

我在 Mongoose 中有一个数组字段,我需要更新。现在我正在使用以下内容:

 var fieldsToSet = {
somename: req.body.username,
email: req.body.email.toLowerCase(),
$addToSet:{array_field:'some single value'},
search: [
req.body.username,
req.body.email,

],
};

我使用更新它

 req.app.db.models.User.findByIdAndUpdate(req.user.id, fieldsToSet, options, function(err, user) {
if (err) {
return workflow.emit('exception', err);
}

workflow.emit('patchAdmin', user);
});

但是它似乎不起作用。有人可以帮我吗?

var userSchema = new mongoose.Schema({
username: { type: String, unique: true },
password: String,
array_field:[String],
email: { type: String, unique: true },

最佳答案

您不能混合本质上是两种类型的“更新”选项。 MongoDB 将使用提供的参数“替换”整个文档,或者应用您指定的“运算符”。

您似乎想要 $set也在这里:

var fieldsToSet = {
"$set": {
"somename": req.body.username,
"email": req.body.email.toLowerCase(),
"search": [
req.body.username,
req.body.email,
]
},
"$addToSet":{ "array_field": 'some single value' },
};

关于javascript - 使用 mongoose 更新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173558/

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