0

我是 mongoDB 新手,我想知道该findOne方法的用途是什么。我的意思是,我可以看到justOneremove 方法的属性的实用程序,它可以避免可能删除大量数据的危险请求注入,但实用程序是findOne什么?

如果有恶意的人通过我的find方法注入请求,他可以看到所有数据吗?难道他不能通过findOne运行大量注入查询的方法来做同样的事情吗?

为什么我只需要从与更多文档匹配的查询中获取文档?为什么我需要在磁盘顺序中获得第一个?如果我需要一份精确的文件,我会明确地查询它。

我为我可能写的荒谬道歉,但我试图理解

4

1 回答 1

2

一方面,它find({ ... }).limit(1).pretty()[0]在 mongo shell 中是一个方便的快捷方式。

注意[0]findOne返回一个文档而不是一个游标

为什么要使用它?假设您想通过_id(只能有一个结果)查找文档,它可以让您免于打字。

为什么我只需要从与更多文档匹配的查询中获取文档?为什么我需要在磁盘顺序中获得第一个?如果我需要一份精确的文件,我会明确地查询它。

好吧,如果你知道你在找什么。假设您想从日志中获取最新的错误,然后……。likefindOne({"severity" : "error"})正是你所需要的。

于 2013-10-15T16:27:43.147 回答