MongoDB 查詢文件

基本的查詢操作涵蓋了簡單的操作,例如獲取 MongoDB 集合中的所有文件。讓我們看看如何實現這一目標的一個例子。

我們所有的程式碼都將在 MongoDB JavaScript 命令 shell 中執行。比如我們在 MongoDB 資料庫中有一個名為 Employee 的集合,我們執行以下命令。

> db.Employee.find( {} )

程式碼說明:

  1. Employee 是 MongoDB 資料庫中的集合名稱
  2. 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);

程式碼說明:

  1. 在這裡,我們想要找到一個名為 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);

程式碼說明:

  1. 在這裡,我們希望找到 ID 大於 2 的所有員工。$gt 被稱為查詢選擇運算子,其意思是使用大於表示式。

如果命令執行成功,將顯示以下輸出

輸出:

> db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
{
	"_id" : ObjectId("563479df8a8a4246bd27d786"), 
	"Employeeid" : 3, 
	"EmployeeName" : '"Joe"
}

返回 Employee id 大於 2 的所有文件。