MongoDB 查詢文件
基本的查詢操作涵蓋了簡單的操作,例如獲取 MongoDB 集合中的所有文件。讓我們看看如何實現這一目標的一個例子。
我們所有的程式碼都將在 MongoDB JavaScript 命令 shell 中執行。比如我們在 MongoDB 資料庫中有一個名為 Employee
的集合,我們執行以下命令。
> db.Employee.find( {} )
程式碼說明:
Employee
是 MongoDB 資料庫中的集合名稱find
命令是一個內建函式,用於檢索集合中的文件。
如果命令執行成功,將顯示以下輸出
輸出:
> db.Employee.find().forEach(printjson);
{
"_id" : objectId("563479cc8a8a4246bd27d784"),
"Employeeid" : 1,
"EmployeeName" :'"Smith"
}
{
"_id" : ObjectId("563479d48a8a4246bd27d785"),
"Employeeid" : 2,
"EmployeeName" : ' "Mohan"
}
{
"_id" : ObjectId("563479df8a8a4246bd27d786"),
"Employeeid" : 3,
"EmployeeName" : '"Joe"
}
輸出顯示集合中存在的所有文件。
我們還可以為查詢新增條件,以便我們可以根據特定條件獲取文件。
讓我們看一下如何實現這一目標的幾個例子。
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
程式碼說明:
- 在這裡,我們想要找到一個名為
Smith
的員工,因此我們輸入過濾條件為 EmployeeName:Smith
如果命令執行成功,將顯示以下輸出
輸出:
> db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
{
"_id" : objectId("563479cc8a8a4246bd27d784"),
"Employeeid" : 1,
"EmployeeName" :'"Smith"
}
輸出顯示只返回包含 Smith
作為 Employee Name 的文件。
現在,讓我們看看另一個使用大於搜尋條件的程式碼示例。包含此條件時,它實際上會搜尋欄位值大於指定值的文件。
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
程式碼說明:
- 在這裡,我們希望找到 ID 大於 2 的所有員工。
$gt
被稱為查詢選擇運算子,其意思是使用大於表示式。
如果命令執行成功,將顯示以下輸出
輸出:
> db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
{
"_id" : ObjectId("563479df8a8a4246bd27d786"),
"Employeeid" : 3,
"EmployeeName" : '"Joe"
}
返回 Employee id 大於 2 的所有文件。