前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何实现文档检索(下)

如何实现文档检索(下)

作者头像
MongoDB中文社区
发布2020-04-10 15:11:39
2.4K0
发布2020-04-10 15:11:39
举报
文章被收录于专栏:MongoDB中文社区MongoDB中文社区
通过查询执行从MongoDB数据库中获取或获取数据的方法。在执行查询操作时,可以使用标准查询,或组合条件从数据库中检索符合条件的特定数据。

MongoDB提供了一个名为db.collection.find()的函数,该函数用于从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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Mongoing中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档