获取Mongo游标的第一个元素

Dir*_*irk 3 javascript mongodb

我可以使用以下方法遍历游标的所有元素(最多返回数字):

cursor.each(function(err, doc)
Run Code Online (Sandbox Code Playgroud)

但是我如何从光标中获取第一个元素?

Joh*_*yHK 8

toArray如果您只想要结果的第一个文档,那么调用它的效率非常低.相反,调用next光标:

cursor.next(function(err, doc) {
    if (doc) {
        ...
    }
});
Run Code Online (Sandbox Code Playgroud)

另一个选择是只调用findOne而不是find如果你只想要一个单独的文档.


Abd*_*eed 0

您可以使用toArrray()

var arrayDoc = cursor.toArray();
arrayDoc[0]; //first element from cursor
Run Code Online (Sandbox Code Playgroud)

或者

arrayDoc = cursor.limit(1).toArray(); //limiting to one
Run Code Online (Sandbox Code Playgroud)

  • 如果您只想要第一个元素,将光标限制到一个元素可能是一件好事:` var arrayDoc = 游标.limit(1).toArray();` (3认同)