Node.js 无法使用mongoose获取集合名称

Node.js 无法使用mongoose获取集合名称,node.js,mongodb,coffeescript,mongoose,Node.js,Mongodb,Coffeescript,Mongoose,此Ruby代码打印“db”中的集合名称。咖啡也是一样 require 'mongo' include Mongo mongocl = MongoClient.new("localhost") p mongocl["db"].collection_names mongocl.close 等效的coffeescript代码(不确定) 有人能指出其中的错误吗? 我用的是最新的mongoose@3.8.x问题在于,您在打开事件处理程序有机会执行之前关闭了连接 将close()调用移动到传递给colle

此Ruby代码打印
“db”
中的集合名称。咖啡也是一样

require 'mongo'
include Mongo
mongocl = MongoClient.new("localhost")
p mongocl["db"].collection_names
mongocl.close
等效的coffeescript代码(不确定)

有人能指出其中的错误吗?
我用的是最新的mongoose@3.8.x问题在于,您在
打开事件处理程序有机会执行之前关闭了连接

close()
调用移动到传递给
collectionNames
的回调中:

mongoose = require 'mongoose'
mongoose.connect 'localhost/db'
mongoose.connection.on 'open', (err) ->
  mongoose.connection.db.collectionNames (err, data) ->
    console.log data
    mongoose.connection.close()
mongoose = require 'mongoose'
mongoose.connect 'localhost/db'
mongoose.connection.on 'open', (err) ->
  mongoose.connection.db.collectionNames (err, data) ->
    console.log data
    mongoose.connection.close()