connection.on не является функцией в mongoose v4.13 - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь очистить коллекцию всей базы данных, но что не так с кодом ниже?

const mongoose = require ('mongoose') mongoose.Promise = global.Promise

const connection = mongoose.connect ( mongodb://admin@example.com/myDB )

exports.default = (dropAllCollections = () => {
  connection.on('open', function() {
    connection.db.listCollections().toArray(function(err, names) {
      if (err) {
        console.log(err)
      } else {
        console.log(names)
      }

      mongoose.connection.close()
    })
  })
})()

Как узнать, изменилось ли что-то в mongoose api? Приведенный выше код от одного из ответов на другой вопрос.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Прошу прощения за восстановление этой темы, но если у кого-то есть такая же проблема (я тоже использую 4.13), перейдите в ваш tsconfig.json и удалите следующую строку:

"esModuleInterop": true 
0 голосов
/ 01 июля 2018

Тем не менее, вы используете старую версию mongoose, вы можете попробовать использовать connection.db.collectionNames

Попробуйте запустить функцию имен коллекций после подключения.

connection.on('open', function (ref) {
    connection.db.collectionNames(function (err, names) {
        console.log(names);      
    });
})

Вы можете прочитать документы с здесь и here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...