我研究猫鼬已经三天了,对这两种方法的使用我有点困惑(我知道将来会不推荐使用“ mongoose.connection()” …)
问题是:当我尝试转换(从“ mongoose.connection()”到“
mongoose.createConnection()”)此示例的action.js文件https://gist.github.com/2785463时,不为我工作…
有我的代码…
var mongoose = require('mongoose'),
db = mongoose.createConnection('localhost', 'test');
db.on('error', function () {
console.log('Error! Database connection failed.');
});
db.once('open', function (argument) {
console.log('Database connection established!');
mongoose.connection.db.collectionNames(function (error, names) {
if (error) {
console.log('Error: '+ error);
} else {
console.log(names);
};
});
});
这是我的终端输出(在我的ubuntu终端上键入“ node test.js”。)
Database connection established!
/home/_user_/Scrivania/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:437
throw err;
^
TypeError: Cannot call method 'collectionNames' of undefined
at NativeConnection.<anonymous> (/home/_user_/Scrivania/test2.js:11:25)
at NativeConnection.g (events.js:192:14)
at NativeConnection.EventEmitter.emit (events.js:93:17)
at open (/home/_user_/Scrivania/node_modules/mongoose/lib/connection.js:408:10)
at NativeConnection.Connection.onOpen (/home/_user_/Scrivania/node_modules/mongoose/lib/connection.js:415:5)
at Connection._open (/home/_user_/Scrivania/node_modules/mongoose/lib/connection.js:386:10)
at NativeConnection.doOpen (/home/_user_/Scrivania/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:47:5)
at Db.open (/home/_user_/Scrivania/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:287:14)
at Server.connect.connectCallback (/home/_user_/Scrivania/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:235:7)
at g (events.js:192:14)
如果你不叫mongoose.connect()
,然后mongoose.connection
不包含的开放连接。您应该改用mongo.createConnection()
调用的返回值(已保存到中db
)。
因此,代码的最后一部分应更改为:
更新
db.db.collectionNames(function (error, names) {
if (error) {
console.log('Error: '+ error);
} else {
console.log(names);
};
});
我看不出有什么collectionNames
办法Connection
;看起来您必须遵循属性到本机连接对象中才能访问该对象(请参见上面的代码)。
Numpy、scipy、matplotlib和pylab是使用python进行科学计算的人常用的术语。 我刚刚了解了一点派拉布,我感到困惑。每当我想导入numpy时,我都可以: 我只是想,一旦我做到了 numpy也将被导入(使用alias)。所以基本上第二个比第一个做得更多。 有几件事我想问: pylab只是numpy、scipy和matplotlib的包装器,对吗 由于np是pylab中的num
问题内容: 我正在使用Hibernate 3.6,并为我的代码添加了注释(与使用hibernate映射文件相对)。我遇到了使用与Hibernate的CascadeType不兼容的JPA级联选项的已知“问题”(有关更多信息,请参见此链接http://www.mkyong.com/hibernate/cascade- jpa-hibernate-annotation-common-mistake /
我有一个包含文本字段(红色、绿色、蓝色)和滑块(红色、绿色、蓝色)的面板。用户应该能够使用他们喜欢的任何组件,相应的组件应该更新。(例如,在红色文本字段中输入100应将红色滑块移动到100)。
我阅读了以下主题: Spring重定向属性:addAttribute vs addFlashAttribute 据我所知,flash属性和普通属性之间的主要区别在于普通属性只能保存s和原语。 但在实践中,我看到了另一个区别: 我有以下控制器方法: 和 在“ConfirmDrawRequest”页面上。jsp 我编写了以下代码片段: 现在我在页面上看不到错误消息。 如果我替换重定向属性(redire
我对数据挖掘并不陌生,所以我完全被WEKA结果难倒了。希望得到一些帮助。提前谢谢! 我有一个具有二分类(S, H)的数值向量数据集。我在省略交叉验证中训练了一个朴素贝叶斯模型(尽管方法真的无关紧要)。结果如下: 如您所见,输出和混淆矩阵都有三个错误。然后,我使用具有相同属性和相同两个类的独立数据集重新评估模型。结果如下: 这就是我的问题所在。输出清楚地显示有很多错误。事实上,有44个。另一方面,混
问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子: