首页 > 数据库 >无涯教程-MongoDB - 查询数据

无涯教程-MongoDB - 查询数据

时间:2023-11-03 19:33:54浏览次数:28  
标签:教程 MongoDB db 无涯 likes pretty Learnfk find

在本章中,无涯教程将学习如何从MongoDB集合中查询文档。

find()方法

要查询MongoDB集合中的数据,您需要使用MongoDB的 find()方法。

find()方法的基本语法如下-

>db.COLLECTION_NAME.find()

find()方法将以非结构化方式显示所有文档。

pretty()方法

要以格式化的方式显示输出,可以使用 pretty()方法。

>db.mycol.find().pretty()

pretty示例

>db.mycol.find().pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "Learnfk point",
   "url": "http://www.learnfk.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>

除了find()方法之外,还有 findOne()方法,该方法仅返回一个文档。

Equivalents查询

要根据某些条件查询文档,可以使用以下操作。

Operation Syntax Example RDBMS Equivalent
Equalit(等于) {<key>:<value>} db.mycol.find({"by":"Learnfk point"}).pretty() where by='Learnfk point'
Less Than(小于) {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
Less Than Equals(小于或等于) {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
Greater Than(大于) {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
Greater Than Equals(大于或等于) {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
Not Equals(不等于) {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50

AND语句

在 find()方法中,如果通过用'分隔开多个键来传递多个键,则MongoDB会将其视为 AND 条件,以下是 AND 的基本语法-

>db.mycol.find(
   {
      $and: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

以下示例将显示" Learnfk point"编写的所有教程,其标题为" MongoDB Overview"。

>db.mycol.find({$and:[{"by":"Learnfk point"},{"title": "MongoDB Overview"}]}).pretty() {
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "Learnfk point",
   "url": "http://www.learnfk.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}

对于上面给出的示例,等效的where子句将为',其中by ='Learnfk point'AND title ='MongoDB Overview'',您可以在find子句中传递任意数量的键,值对。

OR语句

要基于"$or"条件查询文档,您需要使用 $or 关键字。以下是 OR 的基本语法-

>db.mycol.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

以下示例将显示所有由" Learnfk point"编写或标题为" MongoDB Overview"的教程。

>db.mycol.find({$or:[{"by":"Learnfk point"},{"title": "MongoDB Overview"}]}).pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "Learnfk point",
   "url": "http://www.learnfk.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>

AND&OR示例

以下示例将显示点赞大于10且标题为“ MongoDB Overview”或by为“ Learnfk point”的文档。等价的SQL where子句为'where likes> 10 AND(by ='Learnfk point'OR title ='MongoDB Overview')

>db.mycol.find({"likes": {$gt:10}, $or: [{"by": "Learnfk point"},
   {"title": "MongoDB Overview"}]}).pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "Learnfk point",
   "url": "http://www.learnfk.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>

参考链接

https://www.learnfk.com/mongodb/mongodb-query-document.html

标签:教程,MongoDB,db,无涯,likes,pretty,Learnfk,find
From: https://blog.51cto.com/u_14033984/8173878

相关文章

  • 工业自动化教程2开关和传感器
    2开关和传感器了解人类的功能有助于理解自动化。人类仅有大脑是不够的。还需要视觉、听觉、触觉和嗅觉来提供环境信息,供大脑处理。同样,开关和传感器也能提供环境信息,供控制器处理。处理的结果决定了执行器将执行的操作,这将在下一章讨论。本章专门讨论开关和传感器,以便我们深入讨......
  • 无涯教程-MongoDB - 插入数据
    在本章中,无涯教程将学习如何在MongoDB集合中插入文档。要将数据插入MongoDB集合,您需要使用MongoDB的insert()或save()方法。Insert-语法insert()命令的基本语法如下:>db.COLLECTION_NAME.insert(document)Insert-示例1>db.mycol.insert({_id:ObjectId(7df78ad8......
  • 微软微服务构建框架Dapr基础入门教程
    最近学习dapr,决定将过程在此记录,也为小伙伴们学习的时候提供一份参考。Dapr的介绍这里就不多说了,大家直接可以去百度或者去官网上进行查阅,本文就简单介绍下如何使用。Dapr官方中文文档一、安装DaprCLI选择与您使用的系统对应的安装方式即可,我这里使用的是windows系统,故使......
  • 无涯教程-MongoDB - 删除集合
    在本章中,无涯教程将看到如何使用MongoDB删除集合。MongoDB的db.collection.drop()用于从数据库中删除集合。DropCollection-语法drop()命令的基本语法如下-db.COLLECTION_NAME.drop()DropCollection-示例首先,将可用集合检入数据库mydb。>usemydbswitchedtod......
  • logstash-output-mongodb安装
     1.安装插件:[root@localhostbin]#./logstash-plugininstalllogstash-output-mongodbValidatinglogstash-output-mongodbInstallinglogstash-output-mongodb 2.查看插件版本./logstash-pluginlist--verboselogstash-output-mongodb(3.1.7) 同步报错误:[2023-11......
  • AI数字人制作工具SadTalker教程
    AI数字人(ArtificialIntelligenceDigitalHuman)是一种采用人工智能技术和仿真技术创建的虚拟人物。它结合了人类外貌、语音和认知能力,能够与人类进行交流和互动。AI数字人的外貌通常由计算机图形学和虚拟现实技术生成,可以根据需要设计不同的外表特征、面部表情和肢体语言。而......
  • 无涯教程-MongoDB - 删除数据库
    在本章中,无涯教程将看到如何使用MongoDB命令删除数据库。MongoDBdb.dropDatabase()命令用于删除现有数据库。DropDatabase-语法dropDatabase()命令的基本语法如下-db.dropDatabase()这将删除所选的数据库。如果您尚未选择任何数据库,则它将删除默认的"test"数据库。Dr......
  • 无涯教程-MongoDB - 创建数据库
    在本章中,无涯教程将看到如何在MongoDB中创建数据库。MongoDB使用DATABASE_NAME用于创建数据库,该命令将创建一个新数据库(如果不存在),否则将返回现有数据库。CreateDatabase-语法useDATABASE语句的基本语法如下-useDATABASE_NAMECreateDatabase-示例如果您要使......
  • Linux版python安装教程
    如果你希望在CentOS上使用源码编译的方式安装Python3,请按照以下步骤进行操作:安装编译工具和依赖项:在开始编译前,需要安装一些编译工具和Python3的依赖项。在终端中运行以下命令:sudoyumgroupinstall"DevelopmentTools"sudoyuminstallopenssl-develbzip2-devellibff......
  • 无涯教程-MongoDB - 简介
    MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDBInc.(当时是10gen团队)于2007年10月开发,2009年2月首度推出,现以服务器端公共许可(SSPL)分发。本教程适用于愿意通过简单的步骤学习MongoDB数据库的软件专业人员,它......