Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoDB 2.6+;NodeJS可以';t迭代游标_Node.js_Mongodb - Fatal编程技术网

Node.js MongoDB 2.6+;NodeJS可以';t迭代游标

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

我真的不知道怎么了,请帮忙

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,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谢谢,没有意识到这一点。太好了,已经添加了答案