Nodejs - Mongodb - arrayFilters - PullRequest
       2

Nodejs - Mongodb - arrayFilters

0 голосов
/ 21 декабря 2018

Я использую 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 уведомлений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...