此Ruby代码在"db"
内打印集合名称。尝试用咖啡做同样的事情
require 'mongo'
include Mongo
mongocl = MongoClient.new("localhost")
p mongocl["db"].collection_names
mongocl.close
等效的coffeescript代码(不确定)。
mongoose = require 'mongoose'
mongoose.connect 'localhost/db'
mongoose.connection.on 'open', (err) ->
mongoose.connection.db.collectionNames (err, data) ->
console.log data
return
mongoose.connection.close()
有人可以指出这个中的错误吗? 我使用的是最新的mongoose@3.8.x
答案 0 :(得分:2)
问题是您在open
事件处理程序有机会执行之前关闭了连接。
将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()