Часы MongoDB не запускаются при обновлении документов через код - PullRequest
0 голосов
/ 23 апреля 2020

Когда я обновляю какой-либо документ в коллекции с помощью 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));
    });
  });
}
...