我是一个mongoDB新手,我想知道findOne
方法的效用是什么。我的意思是,我可以看到remove方法的justOne
属性的实用程序,它可以避免可能删除大量数据的危险请求注入,但是findOne
的实用程序是什么?
如果有意图的人会通过我的find
方法注入请求,他可以看到所有数据?他不能通过运行大量注入的查询通过findOne
方法做同样的事情吗?
为什么我需要从查询中获取与更多文档匹配的文档?为什么我需要在磁盘顺序中获得第一个? 如果我需要一个精确的文件,我可以单独查询。
我为我可能写的荒谬道歉,但我试图理解
答案 0 :(得分:2)
首先,它是mongo shell中find({ ... }).limit(1).pretty()[0]
的便捷快捷方式。
请注意[0]
:findOne
会返回文档而不是游标。
为什么要用它?假设你想通过_id
找到一个文档(只能有一个结果),它可以让你省去一些打字。
为什么我需要从查询中获取与更多文档匹配的文档?为什么我需要在磁盘顺序中获得第一个?如果我需要一个精确的文件,我可以单独查询。
好吧,如果你知道你在找什么。假设你想从日志中得到最新的错误,那么......像findOne({"severity" : "error"})
那样正是你所需要的。