@yischyk

Как отслеживать изменения в выборке из коллекции MongoDB?

пытаюсь отслеживать изменения в коллекции с помощью node.js

const collection = connection.collection('feeds');
const changeStream = collection.watch();
changeStream.on('change', event => {})

Но что, если мне надо отслеживать изменения не во всей коллекции, а только в выборке из коллекции? Это возможно?

Или оптимальным вариантом может быть создание коллекций с ключами типа collection_1, collection_2, collection_3... и отслеживание изменений в каждой из них подобным образом?
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
@yischyk Автор вопроса
const filter = [{
        $match: {
            'fullDocument.username': 'marvel',
            $and: [
                {operationType: 'insert'}
            ]
        }
    }];

    const options = {fullDocument: 'updateLookup'};

    const changeStream = await collection.watch(filter, options);

     changeStream.on('change', next => {
        socket.emit('messages', [next.fullDocument])
    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы