2013-10-15 13 views
0

我是一個mongoDB新手,我想知道什麼是findOne方法的實用程序。我的意思是,我可以看到用於remove方法的justOne屬性的實用程序,它避免了可能會刪除大量數據的危險請求注入,但findOne的效用是什麼?MongoDB db.collection.findOne()實用程序

如果有不良意圖的人通過我的find方法注入請求,他可以看到所有數據?難道他不能通過運行大量的注入查詢來執行findOne方法嗎?

爲什麼我需要從查詢中找到與更多文檔相匹配的文檔?爲什麼我需要在磁盤順序中獲得第一個? 如果我需要一個確切的文件,我明確地查詢它。

我的歉意,我可能已經寫了荒謬,但我嘗試瞭解

+0

通常,您使用具有需要轉換爲BSON對象的對象ID的'findOne'。我用它來找到一個用戶。 – tymeJV

+0

mmmm,爲什麼我會將_id轉換爲BSON對象?安全目的?如果我需要查詢特定用戶,我通過用戶名查詢它,如果我知道它或Object_id – lese

回答

2

一方面,它是在蒙戈外殼find({ ... }).limit(1).pretty()[0]一個方便快捷。

注意[0]findOne返回文件而非光標

爲什麼使用它?假設您想通過_id找到一個文檔(只能有一個結果),它可以幫助您避免打字。

爲什麼我需要從查詢中找到與更多文檔匹配的文檔?爲什麼我需要在磁盤順序中獲得第一個?如果我需要一個確切的文件,我明確地詢問它。

那麼,如果你知道你在找什麼。假設你想從日誌中獲得最新的錯誤,那麼......像findOne({"severity" : "error"})將正是你所需要的。