Когда я обновляю какой-либо документ в коллекции с помощью MongoDB Compass Community, мои часы из коллекции запускаются, но когда я обновляю любой документ из кода, обновление происходит в базе данных (я ссылаюсь sh на компас, чтобы увидеть) коллекция часов не запущена.
public updateOne(mc: MongoClient, databaseName: string, collection: string, query: Object, fieldsAndValues: Object): Promise<UpdateWriteOpResult> {
return new Promise((resolve, reject) => {
const setPluskeysAndValues = {
$set: fieldsAndValues
}
mc.db(databaseName).collection(collection).updateOne(query, setPluskeysAndValues).then((document: UpdateWriteOpResult) => {
resolve(document);
}).catch((reason: any) => {
reject(reason)
})
});
}
public subscribeCollection(mc: MongoClient, databaseName: string, collectionName: string): Observable <ChangeEvent<any>> {
return new Observable((subscriber: Subscriber<any>) => {
mc.db(databaseName).collection(collectionName).watch().on('change', (doc: ChangeEvent<any>) => {
subscriber.next((doc));
});
});
}