如何實現文檔檢索(上)
- 2020 年 3 月 27 日
- 筆記
MongoDB提供了一個名為db.collection.find()的函數,該函數用於從MongoDB數據庫中檢索文檔。
本次,我們將學習實現文檔檢索的部分內容,剩餘部分敬請期待下期分享。
- 使用find()查詢MongoDB中的文檔
- MongoDB游標是什麼
- 使用Sort()和Limit()排序查詢MongoDB 實例
- MongoDB Count()函數和Remove()函數
- 使用 Update()更新MongoDB文檔
使用find()查詢MongoDB中的文檔
基本查詢操作
基本查詢操作包括一些簡單的操作,比如獲取MongoDB集合中的所有文檔。我們來看一個如何實現例子。
我們所有的代碼都將在MongoDB JavaScript命令窗口中運行。我們在MongoDB數據庫中有一個「 Employee」的集合,我們可以執行下面的命令。

代碼說明:
1. Employee 是MongoDB數據庫中的集合名稱
2. find命令是一個內置函數,用於檢索集合中的文檔。
如果命令執行成功,將顯示以下輸出結果:

輸出顯示集合中存在的所有文檔。
我們還可以向查詢中添加條件,以便我們可以根據特定條件獲取文檔。
1 例子1
讓我們看一些如何實現此目的的示例。
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
代碼說明:
1. 我們要在集合中查找名稱為「 Smith」的Employee,因此我們將過濾條件輸入為EmployeeName:「 Smith」
命令執行成功,將顯示以下輸出結果:

結果顯示僅返回包含Employee name 為「 Smith」的文檔。
1 例子2
現在,讓我們看另一個使用大於搜索條件的代碼示例。當包含此條件時,它實際上搜索那些字段值大於指定值的文檔。
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
說明:
我們要查找ID大於2的所有Employee。 $gt為查詢選擇運算符,意思是使用大於號表達式。
如果命令執行成功,將顯示以下輸出結果:

返回所有員工ID大於2的文檔。
源地址:
https://www.guru99.com/mongodb-query-document-using-find.html
MongoDB中的游標是什麼?
當使用db.collection.find()函數在集合中搜索文檔時,結果將返回指向文檔集合的指針,該指針稱為游標。
默認情況下,返回查詢結果時,游標將自動進行迭代。當然可以一個接一個明確展示游標中返回的結果目錄。下面的例子,在我們的集合中有3個文檔,光標對象將指向第一個文檔,然後遍歷該集合的所有文檔。

下面的例子,告訴我們如何完成此操作。
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }}); while(myEmployee.hasNext()) { print(tojson(myEmployee.next())); }
代碼說明:
1. 首先,我們獲取查詢的結果集,該結果集查找ID大於2的Employee並將其賦值給JavaScript變量「 myEmployee」
2. 接下來,我們使用while循環遍歷作為查詢一部分返回的所有文檔。
3. 最後,對於每個文檔,我們以JSON格式輸出該文檔的詳細信息。
如果命令執行成功,將顯示以下輸出結果:

源地址:
https://www.guru99.com/mongodb-cursor.html
譯者:徐揚
MongoDB中文社區翻譯志願者,資深程序員。