Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Mongo查询根据参数使用特定于数组的索引进行过滤

Mongo查询根据参数使用特定于数组的索引进行过滤
EN

Stack Overflow用户
提问于 2021-04-27 07:15:41
回答 1查看 98关注 0票数 0

大家好,提前谢谢。我在mongoDB中有几个文档,它们的结构如下

在我使用spring boot开发的API web应用程序中,我必须编写以下查询代码。我可以接收一个类型过滤寄存器,它将在数组中包含此电压电平代码(这很容易),但问题是我还可以接收一个voltageLevelCode和一个voltageLevelCode,所以在这种情况下,我必须过滤数组中包含此电压电平代码的文档,以及在此电压电平代码过滤器中包含此类型的文档(但请记住,电压电平内的类型)我一直在尝试编写查询,但我不知道如何动态设置索引来过滤此电压电平内的类型……就像..。{"voltageLevel..types“:"X”}

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public List<MyClassRepresenting> findByFilter(String type,String voltageLevelCode);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{$and: [{'voltageLevel.voltageLevelCode' : ?1 },{'voltageLevel.<HowTogetIndexForSelectingVoltageLevelCode>.types' : ?2}]}

在这种情况下,根据接收到的类型,tensionLevel参数必须根据此tensionLevel中的类型进行过滤

对于另一个查询,我也会遇到同样的情况。在SQL中,等价物是另一个SELECT中的SELECT,用于选择子寄存器,但不知道在mongo中如何做到这一点。

技术

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-27 08:38:30

在stackoverflow上提问时,包含你已经尝试过的内容总是很有趣的。

我认为您需要的是一个简单的$elemMatch:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db.mycoll.find(
  { voltageLevel: { $elemMatch: { voltageLevelCode: "MT", types: "E" } } }
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67278507

复制
相关文章
mongo索引
Spring Repository解析---以Mongo Repository为例
方丈的寺院
2019/08/05
1.6K0
MyBatis根据数组、集合查询
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的,主要有一下3种情况:
用户5640963
2019/07/26
1.4K0
mongo索引命令
MongoDB全新创建索引使用ensureIndex()方法,对于已存在的索引可以使用reIndex()进行重建。
莫问今朝
2018/08/31
1.4K0
Mongo查询语句
db.qiche.find({"trasferStatus":{$ne:1}}).count(); db.qiche.find({}).count(); 120.27.195.31
week
2018/08/24
1.2K0
JPA(hibernate)一对多根据多的一方某属性进行过滤查询
我们经常会碰上某个字段是集合元素(List,Set)的情况,并且我们要过滤出集合中包含某个或某些元素的数据。 譬如一个类User
天涯泪小武
2019/01/17
4.7K0
mongo 慢查询配置
首先满查询针对的不一定是查询,增删改查都包括,因此,可以理解为一个事务的时间只有超过我们设定的时间(比如100ms)才会打印到mongo日志中,即(master.log,slave.log)。
全栈程序员站长
2022/08/09
1.2K0
Flask传参到后台,根据参数进行查询,将结果显示到前端
在 index.html 获取 id ,通过 id 在后台进行数据的查询,然后将结果显示到另一个页面 other.html 。
Lokinli
2023/03/09
1.9K0
Flask传参到后台,根据参数进行查询,将结果显示到前端
【mongo 系列】索引浅析
B Tree就是一种常用的数据库索引数据结构,MongoDB采用 B 树做索引,索引创建在colletions 上。
阿兵云原生
2023/02/16
1.7K0
Nginx - 根据请求参数路由进行不同的响应
最常见的是通过location进行路径匹配的时候,但是无法使用正则表达一起捕获这个路径和querstring的参数。如果我们想通过URL里面的Query String进行不同的rewrite,应该如何处理呢?答案就是$arg变量。
小小工匠
2023/09/07
7450
Nginx - 根据请求参数路由进行不同的响应
如何根据v$parameter查询Oracle隐含参数
Oracle的隐含参数在Oracle的官方文档中是不会出现的,这些参数主要是Oracle内部用于控制某些功能的开关,或者就像今天eygle讲的,Oracle牛逼之处就是可能几年前开发的一个功能就放到当时的版本中,让你“试用”,但你却不知道,如果碰巧因为遇见了这个问题的bug,Oracle会告诉你可以使用这个参数关掉,等用户“试用”了几年之后,相对来说稳定了,Oracle发布新版本,说推出了一个新功能,且稳定运行了N年…
bisal
2019/01/29
1.2K0
[953]mongo创建索引及索引相关方法
索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。
周小董
2021/03/11
3.7K0
[953]mongo创建索引及索引相关方法
java mongo 查询统计 distinct
CommandResult result = mongoTemplate.getDb().command(
艳艳代码杂货店
2021/10/27
9680
《一起学mongodb》之第四卷 索引
索引的重要性在数据库中是不言而喻的,mysql 中使用了 B+ 数来当做索引的数据结构,为 mysql 性能提升做了很大的贡献,那么在 mongoDB 中又使用了什么数据结构呢?今天就和大家聊聊 mongoDB 的索引
moon聊技术
2022/04/08
1.1K0
《一起学mongodb》之第四卷 索引
VUE2.0 学习(九)前段进行 列表过滤进行模糊查询,对查询出来的数据进行升序降序
也就是后端一下子把所有的数据都返回,我们前端进行模糊搜索的时候,不会调用后端的接口,直接进行模糊搜索,如何实现
一写代码就开心
2021/10/18
1.4K0
如何SELECT进行单表查询,怎样使用WHERE结合各种运算符对数据进行过滤,如何使用ORDER BY 子句 查询
概述:使用数据库保存数据,我们对数据库的操作主要是增,删,改,查操作,其中从数据库中查询数据更为基础,使用不同的查询方式,具有不同的查询效率。
一头小山猪
2020/04/10
3.6K0
使用数组作为索引遍历numpy数组
python使用数组作为索引遍历数组 import numpy as np a=np.arange(0,5) print(a) # [0 1 2 3 4] b=np.arange(0,10).reshape(5,2) print(b) # [[0 1] # [2 3] # [4 5] # [6 7] # [8 9]] # 将一维数组作为二维数组的索引 c0=b[a][:,0] print(c0) # [0 2 4 6 8] c1=b[a][:,1] print(c1) # [1 3 5 7 9
演化计算与人工智能
2020/08/14
2.5K0
MySQL联表查询的索引使用
一共3张表knowledge, knowledge_question, knowledge_answer,数据在6000~10000之间。
十毛
2019/03/27
11.6K0
JS使用功能小记-数组的过滤
我们在写js的时候,最烦的就是处理数组一类的东西,其实数组说难不难,说简单吧,也挺简单的,我这里有这样一个需求,就是后端给到一个数组,其中一个有一个字段我是不需要的,我需要将不需要的字段过滤掉,我当时首先想到的是重绘数组,也就是克隆一个数组,克隆的过程中将不需要的字段不克隆,最后也实现了,但是反复想想怎么都感觉不合理,这样的写法是不是很傻*啊,所以有了今天的文章!
何处锦绣不灰堆
2020/05/29
2K0
JS使用功能小记-数组的过滤
[MongoDB] 使用PHP根据_id字段查询数据
mongo中的_id是一个objectid对象类型,不管是查询时作为条件,还是列表时展示内容,都需要进行一下抓换
唯一Chat
2020/03/19
3.3K0
golang使用 mongo
 连接集群 mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?o
架构师刀哥
2018/03/20
2.3K0

相似问题

使用索引查询Mongo数组

125

根据查询参数进行过滤

30

Mongo -如何使用排序对过滤器进行索引

11

使用Mongo模板过滤Spring中内部数组列表项的Mongo查询

10

Mongo查询索引

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文