相关疑难解决方法(0)

'process.nextTick(function(){throw err;})' - 未定义不是函数(mongodb/mongoose)

我正在尝试使用nodejs和socket.io 连接到我的mongodb.我能够连接到数据库,因为我在我的控制台中接受'连接'但在nodejs端,我 - 确实 - 得到

通过mongoose连接到mongodb:// localhost:27017

它立即失败了

process.nextTick(function(){throw err;})^ TypeError:undefined不是showCollections中的函数**

这里是showCollections:

var showCollections = function(db, callback) { 
    mongoose.connection.db.collectionNames(function(error, names) {
    if (error) {
      throw new Error(error);
    } else {
        console.log("=>Listening mongo collections:");
      names.map(function(cname) {
        mongoose.connection.db.dropCollection(cname.name);
        console.log("--»"+cname.name);
      });
    }
  });

}
Run Code Online (Sandbox Code Playgroud)

这是我的数据库文件夹的内容:

_tmp (empty folder)
local.0
local.ns
mongod.lock
Run Code Online (Sandbox Code Playgroud)

我通过键入mongod --dbpath文件夹运行mongodb ,它成功'等待端口27017上的连接'.

另外,来自package.json(npm)的node_modules

"dependencies": {
    "express": "^4.9.6",
    "socket.io": "latest",
    "mongodb": "~2.0",
    "mongoose": "*"
  }
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助...

堆栈跟踪:

> TypeError: undefined is not a function
> …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js socket.io

13
推荐指数
1
解决办法
3万
查看次数

如何从猫鼬找到所有的集合

我应该找到存储在mongo数据库中的所有集合.

require('../app/models/schemas'); //loading application schemas
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
var collections = db.collections();
console.log(collections);
Run Code Online (Sandbox Code Playgroud)

这里的集合打印了'json'所有模式的组合数据.

但我想找到存储在mongo测试数据库中的所有集合.如何用猫鼬实现它?

mongoose mongodb

2
推荐指数
1
解决办法
8470
查看次数

标签 统计

mongodb ×2

mongoose ×2

node.js ×1

socket.io ×1