Javascript 无法使用node.js中的MongoClient列出mongodb集合中的文档
我可以使用MongoClient从node.js连接到我的数据库。我能够从集合中写入、更新和删除文档。但我无法从中检索数据。这是我的代码:Javascript 无法使用node.js中的MongoClient列出mongodb集合中的文档,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我可以使用MongoClient从node.js连接到我的数据库。我能够从集合中写入、更新和删除文档。但我无法从中检索数据。这是我的代码: var mongoClient=require('mongodb').MongoClient; var mongoDbObj; mongoClient.connect('mongodb://127.0.0.1:27017/trendoa', function(err, db){ if(err){ console.log(err); }els
var mongoClient=require('mongodb').MongoClient;
var mongoDbObj;
mongoClient.connect('mongodb://127.0.0.1:27017/trendoa', function(err, db){
if(err){
console.log(err);
}else{
global.db = db;
};
var col = global.db.collection('twitter_accounts_mon');
// create
var doc1 = {'hola':'sushi'};
col.insert(doc1, function(err, result) {
callback(err);
});
// update
col.update({hola:'jordi'}, {$set:{hola:'joan'}}, {w:1}, function(err, result) {});
// delete
col.remove({hola:'jordi'}, function(err, result) {
callback(err);
});
// read
col.find().toArray(function(err, docs) {
console.log(docs);
});
在最后几行代码中,我试图使用find获取所有文档,但它不会返回任何结果
通过mongo shell,我使用此命令在屏幕上获取数据:
db.twitter_accounts_mon.find()
我不知道我做错了什么。谢谢 根据Node.js驱动程序上的MongoDB,find方法不执行实际的查询,它构建一个游标实例,然后用于检索数据。因此,您需要处理查询的结果
var entireCollectionArray = col.find().toArray(function(err, items) {});
entireCollectionArray.forEach(function (element) {
console.log(element);
});
nodejs回调必须嵌套(仅在数据库打开后搜索集合)
mongoClient.connect('mongodb://127.0.0.1:27017/trendoa', function(err, db){
var col = db.collection('twitter_accounts_mon');
coll.find({}, function(err, cursor) {
cursor.toArray(function(err, data) {
// process the data array
}
}
}
尝试在数据库回调中移动代码。在global.db=db之后