我在nodejs应用程序中使用mongodb。我想在基本json文件中更新。 例:我有3条已读的通知:false,如果执行请求,我想将此3条通知更新为:true。
但这是行不通的。我收到此消息(节点:12884)UnhandledPromiseRejectionWarning:MongoError:更新操作中无法识别的字段:arrayFilters
感谢您的帮助!!!!!!!
Model.js
const UserSchema = mongoose.Schema(
{
username: { type: String, required: true, validate: usernameValidator },
notifications: [{
sender_id: { type: mongoose.Schema.Types.ObjectId, ref: 'User'},
message: { type: String},
viewProfile: { type: Boolean, default: false},
created: { type: Date, default: Date.now()},
read: { type: Boolean, default: false},
date: { type: String, default: ''}
}]
});
notifiRoutes.js
User.update(
{ _id: req.user._id },
{ $set: { "notifications.$[elem].read": true } },
{ arrayFilters: [ { "elem.read": false } ], multi: false }
)
如果用户有10条通知,其中(read:false),并且他单击了我的网站上的按钮,则此属性读取后必须更新其值为true的值,例如10条通知(read:true)