Я использую mongodb в своем приложении nodejs.Я хочу обновить в моем базовом файле JSON.Пример: у меня есть 3 уведомления, где я прочитал: false, если я выполняю свой запрос, я хочу обновить эти 3 уведомления для чтения: true.
Но это не работа.У меня есть это сообщение (узел: 12884) UnhandledPromiseRejectionWarning: MongoError: Нераспознанное поле в операции обновления: arrayFilters
СПАСИБО ЗА ПОМОЩЬ !!!!!!!
Модель.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 уведомлений, где (читай: false) и онщелкнул по кнопке на моем сайте, после того, как этот атрибут прочитал, необходимо обновить его значение для true, как это (читай: true) для 10 уведомлений