connection.on不是猫鼬v4.13中的函数

时间:2018-07-01 13:54:41

标签: node.js mongodb mongoose

我正在尝试清除整个数据库的集合,但是下面的代码怎么了?

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

常量连接= 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()
    })
  })
})()

如何确定猫鼬api是否发生了变化?上面的代码来自另一个问题的答案之一。

2 个答案:

答案 0 :(得分:0)

仍然使用的是旧版本的猫鼬,您可以尝试使用 connection.db.collectionNames

尝试在连接后运行集合名称功能。

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

您可以从 here here

中阅读文档

答案 1 :(得分:0)

对于重新启动此主题感到很抱歉,但是如果有人遇到相同的问题(我也使用4.13),请转到tsconfig.json并删除以下行:

"esModuleInterop": true