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 数据库中检索文档。

在本教程中,你将看到如何以各种方式使用此函数来实现文档检索的目的。