[英]Using mongoose to update an array
我在貓鼬中有一個數組字段,需要更新。 現在,我正在使用以下方法:
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' },
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.