Mongodb ObjectId
預設情況下,在集合中插入文件時,如果未在欄位名稱中新增帶有 _id
的欄位名稱,則 MongoDB 將自動新增 Object id 欄位。
為什麼我們需要 ObjectId 欄位?好吧,MongoDB 使用它作為集合的主鍵,以便可以在集合中唯一標識每個文件。
查詢集合中的文件時,可以看到集合中每個文件的 ObjectId。
如果要確保在建立集合時 MongoDB 不建立 _id
欄位,並且如果要將自己的 id 指定為集合的 _id
,則需要在建立集合時顯式定義它。
顯式建立 id 欄位時,需要在其名稱中使用 _id
建立。
讓我們看看如何實現這一目標的示例。
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
程式碼說明:
- 我們假設我們正在建立集合中的第一個文件,因此在建立集合時,我們在上面的語句中明確定義了欄位
_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 資料庫中檢索文件。
在本教程中,你將看到如何以各種方式使用此函式來實現文件檢索的目的。