ChangeStream # уничтожить не метод? - PullRequest
0 голосов
/ 04 октября 2019

Я получил эту ошибку:

app:tail-mongodb ERROR  Unhandled rejection:

z.cs.destroy is not a function

TypeError: z.cs.destroy is not a function
    at createChangeStream
(/Users/Olegzandr/codes/interos/read-from-mongodb/dist/main.js:74:18)
    at process.internalTickCallback (internal/process/next_tick.js:77:7)

вот мой код:

import {ChangeStream} from "mongodb";

const z = {
    cs: null as ChangeStream,
 };

const createChangeStream = () => {

    if (z.cs) {
      z.cs.removeAllListeners();
      z.cs.destroy();
    }

    const changeStream = z.cs = d.db(dbName).collection(dbCollName).watch();

    changeStream.on('change', next => {

      if (!(next && next.fullDocument)) {
        log.warn('changed doc did not have fullDocument property, or was undefined:', next);
      }

      bun.handleIn(next.fullDocument || next);
    });

  };

кажется странным, что destroy () не является допустимым методом дляChangeStream. Кто-нибудь знает правильный способ закрыть ChangeStream? Типизированные шрифты TypeScript говорят, что этот метод доступен, но я думаю, что это не так.

...