MongoDB 查询文档
基本的查询操作涵盖了简单的操作,例如获取 MongoDB 集合中的所有文档。让我们看看如何实现这一目标的一个例子。
我们所有的代码都将在 MongoDB JavaScript 命令 shell 中运行。比如我们在 MongoDB 数据库中有一个名为 Employee
的集合,我们执行以下命令。
> db.Employee.find( {} )
代码说明:
Employee
是 MongoDB 数据库中的集合名称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);
代码说明:
- 在这里,我们想要找到一个名为
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);
代码说明:
- 在这里,我们希望找到 ID 大于 2 的所有员工。
$gt
被称为查询选择运算符,其意思是使用大于表达式。
如果命令执行成功,将显示以下输出
输出:
> db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
{
"_id" : ObjectId("563479df8a8a4246bd27d786"),
"Employeeid" : 3,
"EmployeeName" : '"Joe"
}
返回 Employee id 大于 2 的所有文档。