如何实现文档检索(下)

2020-04-10 15:11:39 浏览数 (1)

通过查询执行从MongoDB数据库中获取或获取数据的方法。在执行查询操作时,可以使用标准查询,或组合条件从数据库中检索符合条件的特定数据。

MongoDB提供了一个名为db.collection.find()的函数,该函数用于从MongoDB数据库中检索文档。

本次,我们将学习实现文档检索的第二部分内容。

  • 使用find()查询MongoDB中的文档
  • MongoDB游标是什么
  • 使用Sort()和Limit()排序查询MongoDB 实例
  • MongoDB Count()函数和Remove()函数
  • 使用 Update()更新MongoDB文档

使用Sort()和Limit()排序

查询MongoDB 实例

什么是查询修饰符?

Mongo DB提供了查询修饰符,例如'limit'和'Orders'子句,以在执行查询时提供更大的灵活性。我们将看一下以下查询修饰符。

MongoDB limit查询结果

此修饰符用于限制查询结果集中返回的文档数。下面的例子展示了如何完成此操作。

代码语言:javascript复制
db.Employee.find().limit(2).forEach(printjson);

代码说明:

上面的代码采用find函数,该函数返回集合中的所有文档,然后使用limit子句将要返回的文档数限制为2。

如果命令执行成功,将显示以下输出结果:

由于有一个限制修饰符,因此最多仅返回2条记录作为基于ObjectId的升序的结果集的一部分。

MongoDB按降序排序

可以根据集合中任何键的升序或降序指定要返回的文档的顺序。看一下这个例子。

代码语言:javascript复制
db.Employee.find().sort({Employeeid:-1}).forEach(printjson)

代码说明:

上面的代码采用sort函数,该函数返回集合中的所有文档,然后使用修饰符更改返回记录的顺序。这里的-1表示我们要根据Employee id的降序返回文档。

命令执行成功,结果如下:

这里清楚地显示了按Employeeid降序返回的文档。

值为1则按照升序。

源地址:

https://www.guru99.com/mongodb-query-modifications-using-limit-sort.html

MongoDB Count()函数和Remove()函数

聚合的概念是对查询中返回的结果进行计算。例如,假设我们想知道根据触发的查询集合中文档的数量是多少,那么MongoDB提供了count()函数。

让我们看一个例子。

代码语言:javascript复制
db.Employee.count()

代码说明:

上面的代码执行计数功能。

命令执行成功,将显示以下输出结果如下:

输出清楚地表明集合中有4个文档。

执行修改

MongoDB中的其他两类操作是update和remove语句。

更新操作允许修改现有数据,而删除操作允许从集合中删除数据。

删除文件

在MongoDB中,db.collection.remove()方法用于从集合中删除文档。所有文档都可以从集合中删除,也可以仅从符合特定条件的文档中删除。

如果仅发出remove命令,则所有文档将从集合中删除。

下面的代码示例演示如何从集合中删除特定文档。

代码语言:javascript复制
db.Employee.remove({Employeeid:22})

代码说明:

上面的代码使用remove函数并指定了在这种情况下要删除Employee id为22的文档的条件。

命令执行成功,显示以下输出结果:

输出将显示已修改1个文档。

源地址:

https://www.guru99.com/mongodb-count-remove-function.html

使用 Update()更新MongoDB文档

基本文档更新

MongoDB提供了update()命令来更新集合的文档。仅仅更新要更新的文档,可以将条件添加到更新语句,以便更新选定的文档。

该命令中的基本参数是需要更新文档的条件,其次是需要执行的修改。

下面是如何完成此操作。

  1. 发出更新命令;
  2. 选择要用于确定需要更新哪个文档的条件。在我们的例子中,我们要更新员工ID为22的文档;
  3. 使用set命令修改字段名称;
  4. 选择要修改的字段名称,并相应地输入新值。
代码语言:javascript复制
db.Employee.update(
{"Employeeid" : 1},
{$set: { "EmployeeName" : "NewMartin"}});

命令执行成功,输出结果:

结果表明,一条记录符合条件,因此修改了相关字段值。

更新多个值

为了确保在MongoDB中同时更新多个/大量文档,需要使用multi选项,因为默认情况下,一次只能修改一个文档。

以下示例显示了如何更新许多文档。

在此示例中,我们将首先找到Employee ID为“ 1”的文档,并将Employee名称从“ Martin”更改为“ NewMartin”。

  1. 发出更新命令;
  2. 选择要用于确定需要更新哪个文档的条件。在我们的示例中,我们希望更新员工ID为“ 1”的文档;
  3. 选择要修改的字段名称,并相应地输入其新值。
代码语言:javascript复制
db.Employee.update
(
   {
      Employeeid : 1
   },
   {
      $set :
      {
         "EmployeeName" : "NewMartin"
         "Employeeid" : 22
      }
   }
)

令执行成功,运行“ find”命令来搜索雇员ID为22的文档,则会看到以下如下结果:

清楚的展示了,一条记录符合条件,因此修改了相关字段值。

源地址:

https://www.guru99.com/mongodb-update-document.html

0 人点赞