刚开始使用node,并尝试获取mongo驱动程序 上班。我已经建立了连接,奇怪的是我可以插入东西 很好,但是在集合上调用find会产生疯狂。
var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {});
db.open(function(err, db) {
db.collection('things', function(err, collection) {
// collection.insert(row);
collection.find({}, null, function(err, cursor) {
cursor.each(function(err, doc) {
sys.puts(sys.inspect(doc,true));
});
});
});
});
如果我取消注释插入并注释掉查找,它就可以了。 不幸的是,逆转不成立,我收到了这个错误:
collection.find({}, null, function(err, cursor) {
^
TypeError: Cannot call method 'find' of null
我确定我做的事情很傻,但对于我的生活,我做不到 找到它......
答案 0 :(得分:9)
我刚才也有同样的事情。我意识到db.collection由于某种原因被一遍又一遍地调用,所以我做了类似的事情(破解你的代码):
var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {});
var Things;
db.open(function(err, db) {
db.collection('things', function(err, collection) {
Things = Things || collection;
});
var findThings = function() {
Things.find({}, null, function(err, cursor) {
cursor.each(function(err, doc) {
sys.puts(sys.inspect(doc,true));
});
});
}
我意识到你9个月前问过这个问题。希望这个严重的挖掘仍然可以帮助某人。祝你好运!
答案 1 :(得分:-2)