Изменить значение для записей в коллекции с помощью агрегации - PullRequest
0 голосов
/ 22 января 2020

имеют такую ​​коллекцию, как изменить определенное значение с true на сбой, не изменяя другие значения

_id:ObjectId('......')
ton_id :ObjectId('abcd')
value:true
date:2018-1-13T07:09:40.075+00:00



_id:ObjectId('......')
ton_id :ObjectId('abcd1')
value:no result
date:2018-12-13T07:09:40.075+00:00

изменить значение с true на сбой, используя только агрегацию

ожидается вывод:


_id:ObjectId('......')
ton_id :ObjectId('abcd')
value:fail
date:2018-1-13T07:09:40.075+00:00



_id:ObjectId('......')
ton_id :ObjectId('abcd1')
value:no result
date:2018-12-13T07:09:40.075+00:00

1 Ответ

0 голосов
/ 22 января 2020

Проверить этот ответ обновить результаты агрегирования в mongodb?

Вы специально хотите использовать агрегат, а не findOneAndUpdate? Поскольку это может быть достигнуто довольно легко, я думаю, сделав что-то вроде ниже в a для l oop.

 module.exports = {
  async updateGCGuideSent() {
    const mongoose = require('mongoose');
    const Booking = mongoose.model('Booking');
    findObject = {remindGuides: false}; 
    update = {remindGuides: true};
    await Booking.findOneAndUpdate(findObject, update, {new: true}, (err, doc) => {
      console.log(update);
    });
  },
};
...