mongoDB: getMon go () в экземпляре db возвращает ошибку - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь выполнить транзакцию sql. для этого мне нужно начать сеанс, который возможен только с экземпляром подключения mon go dB.

В моем приложении я могу подключиться только к экземпляру DB. и мне нужно получить от него экземпляр соединения mongodb. Насколько я понимаю, функция getMon go () должна делать именно это.

Проблема в том, что getMon go () работает не так, как ожидалось.

когда я запускаю следующий код:

  const db = await this.dbClient;
  console.log(db,"db");
  console.log(db.getMongo(),"getMongo");

  const session  = db.getMongo().startSession();

, я получаю следующий console.log и ошибки:

    Db {
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  s: {
    dbCache: {},
    children: [],
    topology: NativeTopology {
      _events: [Object: null prototype],
      _eventsCount: 35,
      _maxListeners: Infinity,
      s: [Object],
      [Symbol(kCapture)]: false,
      [Symbol(waitQueue)]: [Denque]
    },
    options: {
      retryWrites: true,
      readPreference: [ReadPreference],
      promiseLibrary: [Function: Promise]
    },
    logger: Logger { className: 'Db' },
    bson: BSON {},
    readPreference: ReadPreference { mode: 'primary', tags: undefined },
    bufferMaxEntries: -1,
    parentDb: null,
    pkFactory: undefined,
    nativeParser: undefined,
    promiseLibrary: [Function: Promise],
    noListener: false,
    readConcern: undefined,
    writeConcern: undefined,
    namespace: MongoDBNamespace { db: 'MyDB', collection: undefined }
  },
  serverConfig: [Getter],
  bufferMaxEntries: [Getter],
  databaseName: [Getter],
  [Symbol(kCapture)]: false
} db
{"Error msg: TypeError: db.getMongo is not a 
function\n...","level":"error"}
{"session is not defined....","level":"error"}

Кто-нибудь знает, в чем проблема? Моя версия mon go - 4.2.6. Большое спасибо

...