Mongodb 迭代光标会生成一个额外的空文档

Mongodb 迭代光标会生成一个额外的空文档,mongodb,mongoose,Mongodb,Mongoose,这是我的密码 mongoose.connection.on('open', function(err, doc){ console.log("connection established"); //**Array Method** mongoose.connection.db.collection('simple', function(err, doc){ if(err){ console.log("ERROR", err);

这是我的密码

mongoose.connection.on('open', function(err, doc){
    console.log("connection established");

    //**Array Method**
    mongoose.connection.db.collection('simple', function(err, doc){
        if(err){
            console.log("ERROR", err);
        }else{
            doc.find().toArray(function(err, arr){
                console.log("Arr Method", arr);
            })
        }
    })

    //**Cursor Method**
    mongoose.connection.db.collection('simple', function(err, doc){
        if(err){
            console.log("ERROR", err);
        }else{
            var cur = doc.find();
            cur.each(function(err, doc){
                console.log("Cursor item", doc);
            })
        }
    })
})
数组方法的输出

Arr Method 

    [ { _id: 5209340204db66186f93043d, name: 'SUR' },
      { _id: 5209341f04db66186f93043e, name: 'SAT' },
      { _id: 520935c004db66186f93043f, name: 'THI' },
      { _id: 52093b3504db66186f930440, name: 'popo' },
      { _id: 52093cef04db66186f930441, name: 'rorb' } ]
Cursor item { _id: 5209340204db66186f93043d, name: 'SUR' }
Cursor item { _id: 5209341f04db66186f93043e, name: 'SAT' }
Cursor item { _id: 520935c004db66186f93043f, name: 'THI' }
Cursor item { _id: 52093b3504db66186f930440, name: 'popo' }
Cursor item { _id: 52093cef04db66186f930441, name: 'rorb' }
Cursor item null
光标方法的输出

Arr Method 

    [ { _id: 5209340204db66186f93043d, name: 'SUR' },
      { _id: 5209341f04db66186f93043e, name: 'SAT' },
      { _id: 520935c004db66186f93043f, name: 'THI' },
      { _id: 52093b3504db66186f930440, name: 'popo' },
      { _id: 52093cef04db66186f930441, name: 'rorb' } ]
Cursor item { _id: 5209340204db66186f93043d, name: 'SUR' }
Cursor item { _id: 5209341f04db66186f93043e, name: 'SAT' }
Cursor item { _id: 520935c004db66186f93043f, name: 'THI' }
Cursor item { _id: 52093b3504db66186f930440, name: 'popo' }
Cursor item { _id: 52093cef04db66186f930441, name: 'rorb' }
Cursor item null
我有两个问题

  • 为什么游标方法中有一个额外的日志(“
    游标项null
    ”)
  • 如果我将我的代码(
    数组方法和游标方法
    )移出连接打开回调,则什么都不会发生 印刷的。为什么?
  • 这实际上是一个关于驱动程序的问题,而不是mongoose,因为您要下拉到驱动程序来创建光标对象
  • 这是司机的名字
  • 不会打印任何内容,因为您是在建立到数据库的连接之前执行它们的