find和findOne之间的区别

auh*_*man 1 mongodb

当变量说testVar被赋值为findOne的结果时,它的可用性是无穷无尽的.但是,分配了find()可用性结果的变量只有一次.下面是命令提示符转储

> var testVar = db.basic.findOne()
> testVar
{ "_id" : ObjectId("52abd2737164a542e93f1ebe"), "name" : "MongoDB" }
> testVar
{ "_id" : ObjectId("52abd2737164a542e93f1ebe"), "name" : "MongoDB" }
> testVar
{ "_id" : ObjectId("52abd2737164a542e93f1ebe"), "name" : "MongoDB" }


> var testVar = db.basic.find({"name":"MongoDB"})
> testVar
{ "_id" : ObjectId("52abd2737164a542e93f1ebe"), "name" : "MongoDB" }
> testVar
> testVar
>
Run Code Online (Sandbox Code Playgroud)

Jef*_*rey 12

findOne返回单个文档,find返回游标.一旦你完成光标find,你就到了最后,没有更多的文件了.