Nodejs MongoDB 本机驱动程序不显示文档
nodejs mongodb native driver not display docs
下面的代码有问题吗?
昨天使用相同的代码,将带有文档的结果返回给我,今天它不起作用.....
有没有更好的方法来编写此代码?
var mongodb = require('mongodb'),
MongoClient = mongodb.MongoClient,
url = 'mongodb://localhost/api';
// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
console.log('Connection established to', url);
db.close();
}
});
exports.findAll = function(req, res) {
MongoClient.connect('mongodb://localhost/api', function(err, db) {
console.log(db);
var collection = db.collection(req.params.section);
collection.find().toArray(function(err, items) {
res.send(items);
});
db.close();
});
};
根据此页面,您在find
返回代码中的结果之前关闭db
,请尝试将db.close()
放入find
的回调中
collection.find().toArray(function(err, items) {
res.send(items);
db.close();
});
由于数据库的异步性质,看起来您在查询返回文档之前正在关闭数据库。 这是一个争用条件,根据事件的顺序,它的性能可能会有所不同。 在关闭数据库之前,必须确保已完成查找查询。
collection.find().toArray(function(err, items) {
res.send(items);
db.close();
});
这样,您将在回调中关闭数据库,该回调仅在查询完成时执行。
相关文章:
- Javascript/Css导航未显示在jquery文档上,仅在ie中准备就绪
- 显示“<script src='some.js'></脚本>"在Html文档中
- 服务器上的 Meteor.publish 不会在客户端上显示新文档
- 我该如何在旅途中添加一些段落,并将结果显示在带有段落标记的文档中
- 文档的第一行.写的格式不正确,有时无法显示
- 我想在灯箱中显示pdf文档
- 如何在对话框中显示文档集欢迎页面
- Nodejs MongoDB 本机驱动程序不显示文档
- 有效地突出显示文档中的文本 (JavaScript)
- 无法使用 DerbyJS 在视图中显示文档列表
- 如何显示文档中所有元标记的名称属性
- 拒绝显示文档,因为X-Frame-Options禁止显示
- 检测方式“;拒绝显示文档,因为X-Frame-Options禁止显示"错误
- 如何突出显示文档中输入到搜索框中的单词?
- 打印预览上不需要的滚动条,不显示文档的第二页
- 在网页中高亮显示文档中的单词
- Javascript循环显示文档中的隐藏元素(Jquery也可以)
- 如何为ReSharper注释以便智能感知显示文档
- 在iframe中嵌入instagram/youtube页面“;拒绝显示文档,因为X-Frame-Options禁止显示&
- 如何根据所选的下拉选项显示文档