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 数据库中检索文档。
在本教程中,你将看到如何以各种方式使用此函数来实现文档检索的目的。