当前位置: 首页 > news >正文

【MongoDB】索引 - 数组字段的多键索引

数组字段创建索引时,MongoDB会为数组中的每个元素创建索引键(多键索引),多键索引支持数组字段的高效查询。

一、准备工作

这里准备一些数据

db.shop.insertMany([{_id: 1, name: "水果店1", fruits: ["apple", "orange"]},{_id: 2, name: "水果店2", fruits: ["banana", "apple"]},{_id: 3, name: "水果店3", fruits: ["apple", "banana", "orange"]}
]);

二、创建索引

1、创建索引

db.shop.createIndex({ fruits: 1 });

上面创建了fruits字段的复合索引,其中1代表的是正序排序,-1代表的是倒序排序

2、查询索引

db.shop.getIndexes();

结果如下:

可以看到多了一个名称为fruits_1的索引

三、示例1:匹配一个

1、执行查询

db.shop.find({ fruits: 'banana' });

结果如下:

2、执行过程

db.shop.find({ fruits: 'banana' }).explain();

结果如下:

可以看到查询过程中会使用到索引名称为fruits _1的索引

四、示例2:匹配全部

1、执行查询

db.shop.find({ fruits: ['apple', 'orange'] });

结果如下:

2、执行过程

db.shop.find({ fruits: ['apple', 'orange'] }).explain();

结果如下:

可以看到查询过程中会使用到索引名称为fruits _1的索引

相关文章:

【MongoDB】索引 - 数组字段的多键索引

数组字段创建索引时,MongoDB会为数组中的每个元素创建索引键(多键索引),多键索引支持数组字段的高效查询。 一、准备工作 这里准备一些数据 db.shop.insertMany([{_id: 1, name: "水果店1", fruits: ["apple&qu…...

2023.11.5 关于 Spring 创建 和 使用

目录 创建 Spring 项目 1.创建 Maven 项目 2.添加 Spring 依赖 将 Bean 对象存储到 Spring 容器中 创建 Bean 存储 Bean ApplicationContext 获取 Bean BeanFactory 获取 Bean ApplicationContext 和 BeanFactory 的区别 获取 Bean 的三种方式 根据 Bean id 获取…...

3D目标检测实战 | 图解KITTI数据集评价指标AP R40(附Python实现)

目录 1 准确率和召回率2 P-R曲线的绘制3 AP R11与AP R40标准4 实际案例 1 准确率和召回率 首先给出 T P TP TP、 F P FP FP、 F N FN FN、 T N TN TN的概念 真阳性 True Positive T P TP TP 预测为正(某类)且真值也为正(某类)的样本数,可视为 I o U > I o U t…...

制作一个ros2机器人需要学习的课本(还不全面)

1《C语言》---这个是基础200页左右 2《C》-----500-600页 3《高等数学》-----没有这个无法计算动态电路 4《电路分析》-----没有这个没法设计硬件电路 5《英语5000词汇》最少也得达到美国小学生毕业时候的词汇水平5000词汇量 6《ros1》因为ros2没有一本中文课本---有那么一…...

Qt OpenGL相机系统

文章目录 一、简介二、实现代码三、实现效果参考资料效果展示 一、简介 一直偷懒没有学习OpenGL,乘着这段有点时间重新学习一下OpenGL,做一个简单的小工具,有助于后面理解OSG。我们都知道OpenGL中存在着下面几个坐标空间:模型空间(物体空间)、世界空间、观察空间(或者称…...

英语语音识别,语言评测,语音打分实践与代码实现

项目在这:couldn/speech-evaluation-of-english 详细的可查看项目内的md文档...

【SpringBoot篇】SpringBoot整合Mybatis实战

🎊专栏【SpringBoot】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🌺Spring Boot和MyBatis的好处🌺创建工…...

android c++ 硬编码硬解码官方demo

参考: https://fossies.org/linux/opencv/modules/videoio/src/cap_android_mediandk.cpp 代码: // This file is part of OpenCV project.// It is subject to the license terms in the LICENSE file found in the top-level directory// of this d…...

Python之Excel数据相关

Excel Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsof…...

Ubuntu网络IP地址一直显示127.0.0.1

问题描述: 终端输入ip a显示127.0.0.1,原来类似192.168.231.1的地址不见了。 ip a 点击网络配置(ubuntu桌面版),发现无线网络模块看不见了 正常情况应该有wired 模块,就是下面标红的 解决方案&#xff1a…...

Vulnhub-DC-3 靶机复现完整过程

啰嗦两句: 提权之前完成是一个月前做的,当时在提权处出了点问题就搁置了,今天才完成,所以IP地址可能会会有变化 注意:后续出现的IP地址为192.168.200.55同样是靶机IP地址,若本文能有帮助到你的地方&#xf…...

Dubbo篇---第三篇

系列文章目录 文章目录 系列文章目录一、Dubbo 容错策略二、Dubbo 动态代理策略有哪些?三、说说 Dubbo 与 Spring Cloud 的区别?一、Dubbo 容错策略 failover cluster 模式 provider 宕机重试以后,请求会分到其他的 provider 上,默认两次,可以手动设置重试次数,建 议把写…...

Redis-使用java代码操作Redis->java连接上redis,java操作redis的常见类型数据存储,redis中的项目应用

java连接上redisjava操作redis的常见类型数据存储redis中的项目应用 1.java连接上redis package com.zlj.ssm.redis;import redis.clients.jedis.Jedis;/*** author zlj* create 2023-11-03 19:27*/ public class Demo1 {public static void main(String[] args) { // …...

react 使用笔记

1.学习:https://reactjs.bootcss.com/learn 2.项目启动报错:Delete ␍ prettier/prettier 解决:https://blog.csdn.net/qq_30272167/article/details/133280165 3.访问地址配置 文件:config-overrides.js devServer: functio…...

Ubuntu下启动Apache对.htaccess 的支持步骤, 利用.htaccess绑定域名到子目录

Ubuntu下启动Apache对.htaccess 的支持步骤 1. 终端运行 sudo a2enmod 程序提示可供激活的模块名称,输入: rewrite 2. 修改/etc/apache2/sites-enabled/000-default (该链接指向的是站点配置文件) 把(默认的www目录、或者需要应用.htacc…...

C++常用格式化输出

在C语言中可以用printf以一定的格式打印字符,C当然也可以。 输入输出及命名空间还不太了解的小伙伴可以看一看C入门讲解第一篇。  在C中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2…...

QCC TX 音频输入切换+提示声音

QCC TX 音频输入切换提示声音 QCC蓝牙芯片(QCC3040 QCC3056 等等),AUX、I2S、USB输入 蓝牙音频输入,模拟输出是最常见的方式。 也可以再此基础上动态切换输入方式。 针对TX切换EQ,调节音量不能出提示声音问题,可以增…...

【Java】封装、继承、多态

面向对象的重要特征:封装、继承、多态; 面向对象的语言的语言并不止Java,C也是面向对象的语言; 访问限定符 public:在哪里都可以使用(公开的);private:仅在当前类可以使用…...

第九章 异常处理

系列文章目录 第一章 Python 基础知识 第二章 python 字符串处理 第三章 python 数据类型 第四章 python 运算符与流程控制 第五章 python 文件操作 第六章 python 函数 第七章 python 常用内建函数 第八章 python 类(面向对象编程) 第九章 python 异常处理 第十章 python 自定…...

(四) Python Pandas入门

一、介绍 Pandas是Python中一个强大的数据处理库,它提供了许多功能强大的数据结构和数据分析工具。在本文中,我们将介绍Pandas的基本概念和如何使用它生成一个包含今天到未来20个工作日的日期列表的Excel文件。 Pandas提供了大量的数据结构和数据分析工…...

wps的VBA小tips1

在WPS/Excel的JS宏(以及VBA)里, Value2 是比 Value 更常用、更可靠的属性,主要有这几个核心原因:1. 避免格式干扰- Value 会受单元格显示格式影响:如果单元格设置了日期、货币、百分比等格式&#xff0c…...

大模型领域岗位梯队详解:小白程序员转型宝典,速收藏![特殊字符]

大模型领域岗位梯队详解:小白程序员转型宝典,速收藏!🔥 本文详细解析了大模型领域的岗位梯队,从底层架构到应用开发,涵盖了预训练、基础设施、模型优化、后训练、多模态等多个方向。文章强调了当前大模型领…...

readme-ai模板系统详解:如何创建自定义文档样式

readme-ai模板系统详解:如何创建自定义文档样式 【免费下载链接】readme-ai README file generator, powered by AI. 项目地址: https://gitcode.com/gh_mirrors/re/readme-ai 在当今开源项目中,专业的README文档是吸引用户和贡献者的关键。readm…...

AirPodsDesktop:Windows平台苹果耳机功能缺失的突破性解决方案

AirPodsDesktop:Windows平台苹果耳机功能缺失的突破性解决方案 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDesktop 在数…...

DownKyi跨平台存储管理指南:从问题诊断到云存储整合

DownKyi跨平台存储管理指南:从问题诊断到云存储整合 【免费下载链接】downkyicore 哔哩下载姬(跨平台版)downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去…...

华硕笔记本性能控制终极指南:如何用G-Helper替代臃肿的Armoury Crate

华硕笔记本性能控制终极指南:如何用G-Helper替代臃肿的Armoury Crate 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, …...

Notepad--跨平台文本编辑器:3个简单技巧提升长期使用性能

Notepad--跨平台文本编辑器:3个简单技巧提升长期使用性能 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- N…...

突破描边技术瓶颈:从卡顿到丝滑的URP实现方案

突破描边技术瓶颈:从卡顿到丝滑的URP实现方案 【免费下载链接】Unity-URP-Outlines A custom renderer feature for screen space outlines 项目地址: https://gitcode.com/gh_mirrors/un/Unity-URP-Outlines 问题诊断篇:传统描边方案的五大痛点 …...

FunASR语音识别镜像亲测:支持中英日韩粤语,一键生成字幕和文本

FunASR语音识别镜像亲测:支持中英日韩粤语,一键生成字幕和文本 1. 引言 1.1 为什么选择FunASR 作为一名长期关注语音技术的开发者,我一直在寻找一个既强大又易用的语音识别解决方案。FunASR作为阿里达摩院开源的语音识别工具包&#xff0c…...

QuickLook.Plugin.OfficeViewer-Native:Office文件秒级预览的轻量化技术实现解析

QuickLook.Plugin.OfficeViewer-Native:Office文件秒级预览的轻量化技术实现解析 【免费下载链接】QuickLook.Plugin.OfficeViewer-Native View Word, Excel, and PowerPoint files with MS Office and WPS Office components. 项目地址: https://gitcode.com/gh_…...