MongoDB-游标行为不一致

петер.петров

有人可以解释吗?

    [test] 2014-01-31 18:40:36.243 >>> var rowNEW = db.people.find( { "name" : "joe", "age" : 20} );
    [test] 2014-01-31 18:40:42.853 >>> rowNEW.forEach(function() { print ('FOUND ROW'); } );
    FOUND ROW
    [test] 2014-01-31 18:40:47.163 >>> rowNEW = db.people.find( { "name" : "joe", "age" : 20} );
    { "_id" : ObjectId("52ec316d1d21069b6061b554"), "name" : "joe", "age" : 20 }
    [test] 2014-01-31 18:40:55.73 >>> rowNEW.forEach(function() { print ('FOUND ROW'); } );
    [test] 2014-01-31 18:40:57.533 >>>

第一次打印“ FOUND ROW”
第二次“ FOUND ROW”没有打印出来
这对我来说看起来很出乎意料,也很怪异。
为什么会这样呢?

尼尔·伦恩

如果没有var左侧,newRow则在外壳中进行评估。这是一个REPL,这就是为什么您在下一行看到JSON的原因。这也将光标向前移动了一个步骤,因此当您newRow下次尝试访问时,光标位于结果的末尾。

用于var避免评估。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章