Node.js MongoDB 2.6+;NodeJS可以';t迭代游标
我真的不知道怎么了,请帮忙 MongoDB版本2.6.7 我可以毫无问题地插入,但是查找功能非常有线,请参见下面的代码 代码A非常有效。Node.js MongoDB 2.6+;NodeJS可以';t迭代游标,node.js,mongodb,Node.js,Mongodb,我真的不知道怎么了,请帮忙 MongoDB版本2.6.7 我可以毫无问题地插入,但是查找功能非常有线,请参见下面的代码 代码A非常有效。 var mongoClient = require("mongodb").MongoClient; var express = require("express"); var app = express(); mongoClient.connect("mongodb://localhost:27017/feeding", function(err,data
var mongoClient = require("mongodb").MongoClient;
var express = require("express");
var app = express();
mongoClient.connect("mongodb://localhost:27017/feeding", function(err,database){
if(!err){
db.collection('test').find({}).toArray(function(err, users){
console.log(users);
});
app.listen(8888, function(){
console.log("Server Started");
});
}else{
console.dir(err);
}
});
在B代码下方在第25行抛出“类型错误:未定义不是函数”
var mongoClient = require("mongodb").MongoClient;
var express = require("express");
var app = express();
mongoClient.connect("mongodb://localhost:27017/feeding", function(err,database){
if(!err){
var cursor = db.collection('test').find({});
while (cursor.hasNext()) { //line 25
console.log("printed");
}
app.listen(8888, function(){
console.log("Server Started");
});
}else{
console.dir(err);
}
});
我相信它说hasNext()不是一个函数,但参考MongoDB文档,代码似乎没有任何问题,在这个问题上花了几个小时。有人能给我一个建议吗?代码B中的行应该用在Mongo shell中,而不是Node.js脚本中。为此,您需要使用Node.js MongoDB驱动程序 检查文档中的游标对象
您需要使用
cursor.nextObject()
方法,检查返回的对象是否为null
,这将表明您已到达终点。这是一个shell命令,不适用于mongodb driverCheck@ZeMoon谢谢,没有意识到这一点。太好了,已经添加了答案