MongoDB中的数据查询

MongoDB中的查询大致上分为以下五种:

一、操作符查询:

MongoDB中的操作符查询,其与RDBMS Where中的语句比较是这样的:



例如:

db.demo.find({"score" : {$gt : 85}})

其意思是查询数据库中成绩大于85分的信息,其等效于MySQL数据库中的下面的sql语句:

select * fom demo where score>85


二、根据数据类型来进行查询,由于其key都是固定的“$type”,因而也被称为“$type”操作符查询。

MongoDB 中可以使用的类型如下表所示:


比如说查询String类型的数据,语句如下:

db.demo.find({'title':{$type:2}})


三、正则表达式查询

正则表达式的API如下:

非打印字符:



特殊字符:



限定符:



定位符:



示例语句如下:

db.col.find({'title':{$regex:'^J'}})

其意思是查找title字段中以J字母开头的信息。


四、全文索引

创建全文索引

创建语句如下:

db.demo.ensureIndex({title:'text'})

其中title是被索引的字段。


查找全文索引

db.demo.getIndexes()


删除全文索引

db.demo.dropIndex('title_text')

这里需要注意的是,删除索引字段的时候传入的参数并不是被索引的字段,而是索引的name,如下:

[{"v" : 1,"key" : {"_id" : 1},"name" : "_id_","ns" : "col.col"},{"v" : 1,"key" : {"_fts" : "text","_ftsx" : 1},"name" : "title_text","ns" : "col.col","weights" : {"title" : 1},"default_language" : "english","language_override" : "language","textIndexVersion" : 2}
]

此时的name指的是title_text,而不是title。


根据索引查找信息

db.demo.find({$text:{$search:'PHP'}})


五、关键字查询

and条件查询

MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,相当于常规的 SQL 中的 AND 条件。

db.col.find({key1:value1, key2:value2}).pretty()


or条件查询

MongoDB OR 条件语句使用了关键字 $or,语法格式如下:
>db.col.find(
   {
      $or: [
    {key1: value1}, {key2:value2}
      ]
   }
).pretty()


除此之外还有:

$in:查询在指定数组范围之内的文档

比如说查询成绩在60-85之间的信息,语句如下:

db.demo.find({'score':{'$in':[60,85]}})


$nin:返回与指定数组中所有条件都不匹配的文档

比如说查询成绩不在60-85之间的信息,语句如下:

db.demo.find({'score':{'$nin':[60,85]}})


$not可以用在任何条件之上

 例如:

db.demo.find({"id":{"$not":{"score":[60,85]}}})

上面的语句作用等效于$nin。


除了上面的之外还有:$all用于多元素匹配数组,$size可以查询指定长度的数组。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143345.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

mongoDB聚合查询

管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。 聚合管道操作 可参考菜鸟文档:菜鸟文档 命令 功能描述 $project指定输出…

MongoDB的文档查询

MongoDB查询文档使用find()方法,find()方法以非结构化的方式来显示所有文档。 一、语法 db.集合名称.find(query,projection) quey:可选参数,使用查询操作符指定查询条件projection:可选参数,使用投影操作符指定返回…

【2023 · CANN训练营第一季】应用开发(初级)第五章——媒体数据处理

1.媒体数据处理 受网络结构和训练方式等因素的影响,绝大多数神经网络模型对输入数据都有格式上的限制。在计算机视觉领域,这个限制大多体现在图像的尺寸、色域、归一化参数等。如果源图或视频的尺寸、格式等与网络模型的要求不一致时,我们需…

【mongodb】查询mongodb的数据库存放路径

通过yum方式安装mongodb,我们需要了解mongodb实际存放数据的位置以及相关日志所在的文件,我们可以通过如下命令来了解: ps -ax | grep mongod 通过上面的输出,我们了解到Mongodb的配置使用的是/etc/mongod.conf文件,继而,我们可以…

MongoDB aggregate 管道聚合查询

文章目录 数据准备条件查询聚合查询模糊查询拆分数据关联查询根据用户组查询用户根据用户查询用户组 控制显示字段置顶合并字段新增或修改字段计算总数分页查询分页查询加总数排序分组 数据准备 UserPO Data EqualsAndHashCode(callSuper true) Accessors(chain true) NoAr…

mongodb查询

MongoDB 查询文档使用 find() 方法。 find() 方法以非结构化的方式来显示所有文档。 db.集合.find(query, projection) query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键。查询时返回文档中所…

vue-element-admin实践系列(二)初始化系统的页面元素

vue-element-admin实践系列 vue-element-admin实践系列(一)代码部署及运行demovue-element-admin实践系列(二)初始化系统的页面元素 文章目录 vue-element-admin实践系列1、修改默认参数1.1 修改启动端口1.2 修改网页title1.3 修改网站 ico1.4 效果如下 2、自定义左侧导航栏2.…

一元多项式的加减法(C语言)

要求&#xff1a;以文件形式输入需要进行运算的两个一元多项式&#xff0c;并将结果以文件的形式进行输出。 #include<stdio.h> #include<stdlib.h> #include<math.h>//链表的构成 typedef struct Node{float ratio;int index;struct Node* next; }*PNode,*…

一元多项式计算器(C语言实现)

一、实验要求 二、代码实现 以下C语言代码实现了多项式的加减法、乘法、求导和顶点求值的功能。 &#xff08;水平有限&#xff0c;代码存在不规范之处&#xff09; 编程环境&#xff1a;Window11 Visual Studio #define _CRT_SECURE_NO_WARNINGS 1 # include <stdio.h…

c语言一元多项式课程设计,一元多项式的计算数据结构课程设计.doc

一元多项式的计算数据结构课程设计.doc 一元多项式的计算加&#xff0c;减摘要题目一元多项式计算任务能够按照指数降序排列建立并输出多项式&#xff1b;能够完成两个多项式的相加、相减&#xff0c;并将结果输入&#xff1b;目录1引言2需求分析3概要设计4详细设计5测试结果6…

基于C++的一元多项式相加

资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/85996014 资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/85996014 1.实验目的 了解链式存储结构的基本知识&#xff1b;掌握算法思想和数据结构的描述&#xff1b;结合一元…

c语言一元多项式相加

用单链表实现一元多项式相加 #include<stdio.h> #include<stdlib.h> typedef struct Node{float coef;//系数 int exp;//项数 struct Node *next; }LNode,*Linklist;void newPolynomial(Linklist &head){LNode *p;int i,tempExp;float tempCoef;scanf("…

一元多项式的相乘操作(链表)

一元多项式的乘法运算如何实现&#xff0c;要求多项式采用链表存储结构。 目录 基本思路&#xff1a; 添加条件的分类&#xff1a; multiple()源代码&#xff1a; detach()源代码&#xff1a; 处理结果&#xff1a; 基本思路&#xff1a; 本篇博客不知觉间已经拖了好久好久…

数据结构一元多项式的相加-单链表实现

实验内容&#xff1a;把任意给定的两个一元多项式P(x) ,Q(x) 输入计算机&#xff0c;计算它们的和并输出计算结果。 一元多项式可以用单链表表示&#xff0c;结点结构图示如下&#xff1a; coef expnext 首先分析一下这个过程是如何实现的 该算法需要求A与B两个一元多项式的和&…

一元多项式加减乘实现c/c++

一、实验题目&#xff1a; 一元多项式简单的计算器 1.主要功能&#xff1a; (1)输入并建立多项式&#xff1b; (2)输出多项式&#xff1b; (3)两个多项式相加&#xff0c;建立并输出和多项式&#xff1b; (4)两个多项式相减&#xff0c;建立并输出差多项式。 (5)算法的时…

一元多项式的加法

一元多项式的加法 问题描述&#xff1a;一元多项式的加法 &#xff08;1&#xff09; 编程实现一元多项式的加法。 &#xff08;2&#xff09; 编写一个测试主函数。 分析&#xff1a; 对于任意一元多项式 可以抽象为一个由“系数—指数”对构成的线性表&#xff0c;且线性表中…

一元多项式求导

问题描述&#xff1a; 设计函数求一元多项式的导数。&#xff08;注&#xff1a;x​n​​&#xff08;n为整数&#xff09;的一阶导数为nx​n−1​​。&#xff09; #include<cstdio> int main() {int a[100000];int b[100000];int n,m;char c;//判断结束的条件scanf(&q…

一元多项式课设

代码详见 目录 一、实习任务........................................................................................... - 1 - 1.问题描述&#xff1a;.................................................................................... - 1 - 2.小组分工.........…

数据结构:一元多项式及其基本运算

1、实现方式&#xff1a;可采用线性表的顺序存储结构&#xff0c;但是当多项式的每个项的指数差别很大时&#xff0c;会浪费很多存储空间。所以采用链式存储方式表示&#xff0c;每一项可以表示成一个结点&#xff0c;结点的结构由存放系数的coef域&#xff0c;存放指数的expn域…

一元多项式计算

目录 题目的内容及要求--------------------------------------------2需求分析-------------------------------------------------------2概要设计-------------------------------------------------------2 1、存储结构------------------------------------------------…