gpt4 book ai didi

node.js - mongojs 实现新的bie

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:36 27 4
gpt4 key购买 nike

嗨,我是 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() 的操作正在执行时。 Node 不会等待进程完成,而是开始执行另一行。所以简单来说,回调中的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 的说法可能是正确的,我们可能永远不想关闭数据库连接。

关于node.js - mongojs 实现新的bie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31427949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com