MongoJS returns 没有结果而 MongoClient 有
MongoJS returns no results while MongoClient does
我正在尝试使用 Node.js 连接到 MongoDB。 MongoClient 工作正常,但 Mongojs 不行:
var MongoClient = require('mongodb').MongoClient;
var mongojs = require('mongojs');
var url = '...';
MongoClient.connect(url, function(err, client) {
var cursor = client.db("events").collection('events').find();
cursor.each(function(err, event) {
console.log("OK MONGODB");
});
});
mongojs(url, ['events']).events.find(function(err, events) {
events.forEach(function(event) {
console.log("OK MONGOJS");
});
});
"OK MONGODB" 被记录多次; "OK MONGOJS" 不是。
请问有什么问题吗?
在您的情况下,MongoClient
中使用的 url
应该与 mognojs
不同。
假设url
是'mongodb://localhost/'
,MongoClient
也可以。但是,url
used in mongojs
应该添加 dbname 如下
var db = mongojs('mongodb://localhost/mydb', ['mycollection']);
所以应该是下面这样
mongojs(url+'events', ['events']).events.find(...);
我正在尝试使用 Node.js 连接到 MongoDB。 MongoClient 工作正常,但 Mongojs 不行:
var MongoClient = require('mongodb').MongoClient;
var mongojs = require('mongojs');
var url = '...';
MongoClient.connect(url, function(err, client) {
var cursor = client.db("events").collection('events').find();
cursor.each(function(err, event) {
console.log("OK MONGODB");
});
});
mongojs(url, ['events']).events.find(function(err, events) {
events.forEach(function(event) {
console.log("OK MONGOJS");
});
});
"OK MONGODB" 被记录多次; "OK MONGOJS" 不是。
请问有什么问题吗?
在您的情况下,MongoClient
中使用的 url
应该与 mognojs
不同。
假设url
是'mongodb://localhost/'
,MongoClient
也可以。但是,url
used in mongojs
应该添加 dbname 如下
var db = mongojs('mongodb://localhost/mydb', ['mycollection']);
所以应该是下面这样
mongojs(url+'events', ['events']).events.find(...);