使用mongoose更新数组
Using mongoose to update an array
我有一个数组字段在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 },
你不能混合使用本质上是两种类型的"update"选项。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' },
};
相关文章:
- 如何通过数组更新角度子范围
- 如何创建独立于数组更新的组件列表
- 使用数组更新完整日历
- 数组更新后的敲除绑定
- c3js - 使用 chart.load() 使用颜色数组更新图表颜色
- 猫鼬位置数组更新
- 如何使用新数组更新 dom-repeat 列表
- .click在Javascript中没有任何效果 - 应该基于数组更新两个元素
- Angular2 从后端服务中的数组更新视图
- 推送前的数组更新 - javascript
- 使用 ajax 使用 jquery 数组更新 mysql 数据库
- Javascript二维字符串数组更新值
- 如何将数组更新到firebase
- Meteor AutoForm:如何用子文档数组更新模式值
- 为什么当数组更新时,引用数组元素的n't是我的对象
- 从类型化数组更新svg路径
- 聚合物dom-repeat如何通知数组更新
- 什么时候改变子数组更新子数组vs.创建一个新的子数组?[JavaScript]
- 当Javascript中的数组更新时,如何使用PHP更新和插入数据库
- 使用修改后的数组更新对象属性值