MongoDB 中 find() 和 findOne() 方法之间的区别?


如果查询匹配, findOne() 会返回第一个文档,否则返回 null。find() 方法不会返回 null,它会返回一个游标。

让我们实现 find() 和 findOne() 的概念,并创建一个带有文档的集合 -

> db.createCollection('emptyCollection');
{ "ok" : 1 }

让我们统计一下上述集合中有多少文档 -

> db.emptyCollection.count();

这会产生以下输出 -

0

上述集合中没有文档。

以下是对使用 findOne() 检查结果的查询 -

> if(db.emptyCollection.findOne()){print("Returns Cursor")} else {print("Not returning cursor")}

这会产生以下输出 -

Not returning cursor

以下是对使用 find() 检查结果的查询 -

> if(db.emptyCollection.find()){print("Returns Cursor")} else {print("Not returning cursor")}

这会产生以下输出 -

Returns Cursor

更新日期:30-Jul-2019

5K+ Views

开启你的 职业生涯

通过完成课程获得认证

开始
广告