Mongodb ObjectId

預設情況下,在集合中插入文件時,如果未在欄位名稱中新增帶有 _id 的欄位名稱,則 MongoDB 將自動新增 Object id 欄位。

為什麼我們需要 ObjectId 欄位?好吧,MongoDB 使用它作為集合的主鍵,以便可以在集合中唯一標識每個文件。

查詢集合中的文件時,可以看到集合中每個文件的 ObjectId。

如果要確保在建立集合時 MongoDB 不建立 _id 欄位,並且如果要將自己的 id 指定為集合的 _id,則需要在建立集合時顯式定義它。

顯式建立 id 欄位時,需要在其名稱中使用 _id 建立。

讓我們看看如何實現這一目標的示例。

db.Employee.insert({_id:10, "EmployeeName" : "Smith"})

程式碼說明:

  1. 我們假設我們正在建立集合中的第一個文件,因此在建立集合時,我們在上面的語句中明確定義了欄位 _id 併為其定義了一個值。

如果命令執行成功,現在使用 find 命令顯示集合中的文件,將顯示以下輸出

輸出:

> db. Employee.find().sort({Employeeid: -1}).forEach(printjson);
{
	"_id" : ObjectId("563479df8a8a4246bd27d786"), 
	"Employeeid" : 3, 
	"EmployeeName" : '"Joe"
}
{
    "_id" : ObjectId("563479d48a8a4246bd27d785"), 
    "Employeeid" : 2,
    "EmployeeName" : ' "Mohan"
}
{
	"_id" : objectId("563479cc8a8a4246bd27d784"), 
	"Employeeid" : 1, 
	"EmployeeName" :'"Smith"
}

輸出清楚地顯示我們在建立集合時定義的 _id 欄位現在用作集合的主鍵。

執行查詢

從 MongoDB 資料庫獲取或獲取資料的方法是使用查詢來執行的。在執行查詢操作時,還可以使用可用於從資料庫中檢索特定資料的條件或條件。

MongoDB 提供了一個名為 db.collection.find() 的函式,用於從 MongoDB 資料庫中檢索文件。

在本教程中,你將看到如何以各種方式使用此函式來實現文件檢索的目的。