В MongoDB для отслеживания изменений в выборке из коллекции можно использовать механизм наблюдения за изменениями - Change Streams. Change Streams позволяют "прослушивать" коллекцию и получать уведомления о всех изменениях, происходящих в ней.
Для работы с Change Streams необходимо установить подключение к базе данных MongoDB, затем можно создать Change Stream, указав коллекцию, над которой будет производиться наблюдение, и необходимые опции. Затем можно начать "прослушивание" изменений, используя функцию "watch" объекта Change Stream.
Пример кода на JavaScript, демонстрирующий использование Change Streams в MongoDB:
const MongoClient = require('mongodb').MongoClient; async function main() { const uri = 'mongodb://localhost:27017'; const client = new MongoClient(uri); try { await client.connect(); const database = client.db('mydb'); const collection = database.collection('mycollection'); const changeStream = collection.watch(); changeStream.on('change', (change) => { console.log('Изменение:', change); }); // Другие операции с базой данных... } finally { await client.close(); } } main().catch(console.error);
В этом примере мы создаем подключение к базе данных MongoDB, выбираем коллекцию "mycollection" в базе данных "mydb" и создаем Change Stream для этой коллекции. Затем мы прослушиваем событие 'change' и выводим информацию об изменении в консоль.
Кроме того, можно использовать различные опции при создании Change Stream для настройки поведения. Например, можно указать фильтр для отслеживания только определенных изменений, использовать опцию "resumeAfter" для продолжения наблюдения с определенной точки и другие.
Change Streams предоставляют мощный и гибкий инструмент для отслеживания изменений в выборке из коллекции MongoDB. Они могут быть использованы для реализации функциональности реактивных приложений или для обработки аудита данных.