mongojs 实现 new bie
mongojs implementation new bie
大家好,我是 MongoDB 和 NodeJs 的新手。我正在使用 "mongojs" 模块来简单地从 mongodb 读取数据。代码如下:
var dbname = 'XXXX';
var databaseUrl = 'mongodb://localhost:27017/'+dbname;
var collections = ['candidate','cities','states','countries'];
var mongojs = require('mongojs');
var db = mongojs(databaseUrl, collections);
db.candidate.findOne({fname:'XXX'},function(err,doc){
if(err){
console.log(err);
}
else{
console.log(doc);
}
});
db.close();
当我在终端中 运行 他们时,我得到这个错误:
{ name: 'MongoError',
message: 'server localhost:27017 sockets closed' }
似乎 db.close() 在获取数据之前被执行。我们如何处理此类问题。
以上代码是异步的。在执行 db.candidate.findOne() 的操作时。该节点不等待进程完成,而是开始执行另一行。所以简单的在回调里放db.close()就可以解决这个错误
var dbname = 'XXXX';
var databaseUrl = 'mongodb://localhost:27017/'+dbname;
var collections = ['candidate','cities','states','countries'];
var mongojs = require('mongojs');
var db = mongojs(databaseUrl, collections);
db.candidate.findOne({fname:'XXX'},function(err,doc){
if(err){
console.log(err);
}
else{
console.log(doc);
}
db.close();
});
我也是node的新手。所以是的,@blake 可能是正确的,我们可能永远不想关闭数据库连接。
大家好,我是 MongoDB 和 NodeJs 的新手。我正在使用 "mongojs" 模块来简单地从 mongodb 读取数据。代码如下:
var dbname = 'XXXX';
var databaseUrl = 'mongodb://localhost:27017/'+dbname;
var collections = ['candidate','cities','states','countries'];
var mongojs = require('mongojs');
var db = mongojs(databaseUrl, collections);
db.candidate.findOne({fname:'XXX'},function(err,doc){
if(err){
console.log(err);
}
else{
console.log(doc);
}
});
db.close();
当我在终端中 运行 他们时,我得到这个错误:
{ name: 'MongoError',
message: 'server localhost:27017 sockets closed' }
似乎 db.close() 在获取数据之前被执行。我们如何处理此类问题。
以上代码是异步的。在执行 db.candidate.findOne() 的操作时。该节点不等待进程完成,而是开始执行另一行。所以简单的在回调里放db.close()就可以解决这个错误
var dbname = 'XXXX';
var databaseUrl = 'mongodb://localhost:27017/'+dbname;
var collections = ['candidate','cities','states','countries'];
var mongojs = require('mongojs');
var db = mongojs(databaseUrl, collections);
db.candidate.findOne({fname:'XXX'},function(err,doc){
if(err){
console.log(err);
}
else{
console.log(doc);
}
db.close();
});
我也是node的新手。所以是的,@blake 可能是正确的,我们可能永远不想关闭数据库连接。