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

MongoDB文档查询

一、实验目的

1.  理解MongoDB文档数据库的基本概念和特性。

2.  掌握在MongoDB中创建集合和插入文档数据的方法。

3.  学习使用MongoDB进行文档查询操作,包括查询、过滤和排序等。

二、实验环境准备

1.  JAVA环境准备:确保Java Development Kit (JDK) 已安装并配置好环境变量。

2.  Hadoop环境准备:安装并配置Hadoop环境,确保Hadoop的各个组件可以在伪分布式模式下运行。

三、实验教材参考

《大数据存储》,谭旭,人民邮电出版社,2022,ISBN 978-7-115-59414-3。

四、实验内容与步骤

1、创建集合

在MongoDB中创建一个新的数据集合,用于存储实验数据

2、插入文档数据

将至少三个文档插入到所创建的数据集合中,每个文档包含不同的字段和数据类型。

db.collection.insert([{name: "John Doe",           age: 29,                    hobbies: ["reading", "hiking"],isEmployed: true,           joinDate: new Date()        },{title: "MongoDB Basics",    pages: 250,                 author: {                   firstName: "Jane",lastName: "Smith"},published: true,            price: 19.99,               tags: ["database", "mongodb", "tutorial"]},{productName: "Smartphone",  stock: 500,                 specifications: {           brand: "TechBrand",model: "X100",features: ["5G", "128GB Storage", "Waterproof"]},available: false,           releaseDate: ISODate("2023-11-01T00:00:00Z")}])

3、文档查询操作

(1)查询集合中的所有文档:db.collection.find()

(2)根据特定条件查找文档

查找“name”为"John Doe"的文档:db.collection.find({ name: "John Doe" })

查询“age”大于25的文档:db.collection.find({ age: { $gt: 25 } }).pretty()

(3)对查询结果进行排序,展示文档排序的功能

按age升序排序:db.collection.find({ age: { $exists: true } }).sort({ age: 1 }).pretty()

按price降序排序:db.collection.find({ price: { $exists: true } }).sort({ price: -1 }).pretty()

(4)根据条件过滤文档

查找stock大于等于 100 的文档:db.collection.find({ stock: { $gte: 100 } }).pretty()

查找available为false的文档:db.collection.find({ available: false }).pretty()

相关文章:

MongoDB文档查询

一、实验目的 1. 理解MongoDB文档数据库的基本概念和特性。 2. 掌握在MongoDB中创建集合和插入文档数据的方法。 3. 学习使用MongoDB进行文档查询操作,包括查询、过滤和排序等。 二、实验环境准备 1. JAVA环境准备:确保Java Development Kit (J…...

【GORM】初探gorm模型,字段标签与go案例

GORM是什么? GORM 是一个Go 语言 ORM(对象关系映射)库,它让我们可以使用结构体来操作数据库,而无需编写SQL 语句 GORM 模型与字段标签详解 在 GORM 中,模型是数据库表的抽象表示,字段标签&am…...

Windows下的Milvus安装秘籍:向量数据库轻松上手

目录 一、简介 二、dockers的安装 1.介绍 2.环境准备 1.启动WSL 的功能。 2.安装并启动Hyper-V Windows10下的安装办法: Windows11下的安装办法: 启动Hyper-V 3.Docker的安装 4、验证是否安装成功 三、安装Milvus 1.Milvus下载 2.Milvus启动…...

在GUI中添加一个Label

标签是一种非常简单的小部件,它可以为我们的图形用户界面(GUI)增添价值。它可以阐释其他组件的用途,提供一些额外的信息,这可以引导用户理解输入框组件的含义,也能够解释那些无需用户输入数据的组件所显示数据的含义。 准备就绪 我们将扩展第一个应用案例,即《创建第一…...

hive连接mysql报错:Unknown version specified for initialization: 3.1.0

分享下一些报错的可能原因吧 1.要开启hadoop 命令&#xff1a;start-all.sh 2.检查 hive-site.xml 和 hive-env.sh。 hive-site.xml中应设置自己mysql的用户名和密码 我的hive-site.xml如下&#xff1a; <configuration><property><name>javax.jdo.opt…...

Unity Shader学习日记 part5 CG基础

在了解完Shader的基本结构之后&#xff0c;我们再来看看编写着色器的语言。 Shader编写语言有CG&#xff0c;HLSL两种&#xff0c;我们主要学习CG的写法。 数据类型 CG的基础变量类型 uint a12;//无符号32位整形 int b12;//32位整形float f1.2f;//32位浮点型 half h1.2h;//…...

第7章:Python TDD测试Franc对象乘法功能

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…...

两级式三相光伏并网逆变器Matlab/Simulink仿真模型

忘记更新最经典的光伏并网仿真模型了&#xff0c;作为包含经典的MPPT和并网恒功率因素的双闭环控制模型&#xff0c;也是很多相关专业学生的入门研究内容&#xff0c;光伏并网模型三相的和单相都有。 其中三相光伏并网逆变器有大功率和小功率的两种&#xff0c;之前早在硕士期…...

redis性能优化参考——筑梦之路

基准性能测试 redis响应延迟耗时多长判定为慢&#xff1f; 比如机器硬件配置比较差&#xff0c;响应延迟10毫秒&#xff0c;就认为是慢&#xff0c;机器硬件配置比较高&#xff0c;响应延迟0.5毫秒&#xff0c;就认为是慢。这个没有固定的标准&#xff0c;只有了解了你的 Red…...

Ubuntu 22.04 TLS 忘记root密码,重启修改的解决办法

1.想办法进入这个界面&#xff0c;我这里是BIOS引导的是按Esc按一下就行&#xff0c;UEFI的貌似是按Shift不得而知&#xff0c;没操作过。下移到Advanced options for Ubuntu&#xff0c;按enter 2.根据使用的内核版本&#xff0c;选择带「recovery mode」字样的内核版本&#…...

HTML<bdo>标签

例子 指定文本方向&#xff1a; <bdo dir"rtl"> This text will go right-to-left. </bdo> <!DOCTYPE html> <html> <body> <h1>The bdo element</h1> <p>This paragraph will go left-to-right.</p> …...

STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态

STM32W5500以太网应用开发003_TCP服务器添加OLED&#xff08;u8g2&#xff09;显示状态 实验效果3-TCP服务器OLED1 拷贝显示驱动代码1.1 拷贝源代码1.2 将源代码添加到工程1.3 修改代码优化等级1.4 添加头文件路径1.5 修改STM32CubeMX工程 2 修改源代码2.1 添加头文件2.2 main函…...

【机器学习实战中阶】使用SARIMAX,ARIMA预测比特币价格,时间序列预测

数据集说明 比特币价格预测&#xff08;轻量级CSV&#xff09;关于数据集 致谢 这些数据来自CoinMarketCap&#xff0c;并且可以免费使用该数据。 https://coinmarketcap.com/ 数据集:链接: 价格预测器 源代码与数据集 算法说明 SARIMAX&#xff08;Seasonal AutoRegressive …...

各语言镜像配置汇总

镜像配置汇总 Nodejs [ npm ]Python [ pip ] Nodejs [ npm ] // # 记录日期&#xff1a;2025-01-20// 查询当前使用的镜像 npm get registry// 设置淘宝镜像 npm config set registry https://registry.npmmirror.com/// 恢复为官方镜像 npm config set registry https://regi…...

细说STM32F407单片机电源低功耗StopMode模式及应用示例

目录 一、停止模式基础知识 1、进入停止模式 2、停止模式的状态 3、退出停止模式 4、SysTick定时器的影响 二、停止模式应用示例 1、示例功能和CubeMX项目配置 &#xff08;1&#xff09;时钟 &#xff08;2&#xff09;RTC &#xff08;3&#xff09;ADC1 &#xf…...

PHP语言的循环实现

PHP语言的循环实现详解 在当今的编程世界中&#xff0c;循环是一种不可或缺的基本构造&#xff0c;它使得我们能够重复执行某些操作&#xff0c;极大地提高了代码的复用性和可读性。在PHP语言中&#xff0c;循环的种类以及使用方式繁多&#xff0c;本文将全面探讨PHP中的循环实…...

求两个矩阵的乘积

求两个矩阵的乘积 分数 15 全屏浏览 切换布局 作者 C课程组-hwr-zy 单位 浙江大学 输入三个正整数m&#xff0c;l&#xff0c;n(0<m&#xff0c;n&#xff0c;l<10)&#xff0c;再输入两个的矩阵a&#xff08;mxl&#xff09;和b&#xff08;lxn&#xff09;。要求把a和…...

警惕IDEA 2024版重大Bug问题:LomBok失效、Gradle冲突、Spring Boot启动错误

一直以来我认为工具类的软件是越新越好&#xff0c;因为工具代表着一定的先进性&#xff1b;但是IDEA 2024好好的给我上了一课&#xff0c;比如lombok 不起作用、比如Spring Boot 3.4.x 启动报错、再比如MyBatis log plus冲突、再比如Gradle插件冲突. 一、Lombok 失效问题 请不…...

Go语言的正则表达式

Go语言的正则表达式&#xff1a;深度解析与应用实例 引言 正则表达式&#xff08;Regular Expression&#xff0c;简称 regex&#xff09;是一种用于匹配字符串的强大工具&#xff0c;广泛应用于文本处理、数据验证、解析和提取等场景。Go语言作为一种现代编程语言&#xff0…...

通过ssh连接debian

使用方法 ssh usernameipaddress [inputpasswd]root用户默认无法由ssh连接&#xff0c; 可以通过修改配置 sudo vim /etc/ssh/sshd_config去掉PermitRootLogin前的‘#’,并修改为 PermitRootLogin yes 重启sshd服务 sudo systemctl restart sshd参考 https://linuxconfig.or…...

ingress-nginx 开启 Prometheus 监控 + Grafana 查看指标

环境已经部署了 ingress-nginx&#xff08;DaemonSet 方式&#xff09;&#xff0c;并且 Prometheus Grafana 也已经运行。但之前 /metrics 端点没有暴露 Nginx 核心指标&#xff08;如 nginx_ingress_controller_requests_total&#xff09;&#xff0c;经过调整后现在可以正…...

解析“与此站点的连接不安全”警告:成因与应对策略

一、技术本质&#xff1a;SSL/TLS协议的信任链断裂 现代浏览器通过SSL/TLS协议建立加密通信&#xff0c;其核心在于证书颁发机构&#xff08;CA&#xff09;构建的信任链。当用户访问网站时&#xff0c;浏览器会验证服务器证书的有效性&#xff0c;包括&#xff1a; 证书链完…...

八:操作系统设备管理之缓冲、缓存与假脱机

弥合鸿沟&#xff1a;操作系统中的缓冲、缓存与假脱机技术深度解析 在计算机系统的世界里&#xff0c;存在着一个根本性的速度差异&#xff1a;中央处理器&#xff08;CPU&#xff09;的执行速度飞快&#xff0c;而输入/输出&#xff08;I/O&#xff09;设备&#xff08;如硬盘…...

PHP环境极速搭建

一、为什么选择phpStudy VS Code&#xff1f; 作为一名初次接触PHP的开发者&#xff0c;我深知环境配置往往是学习路上的第一道门槛。传统PHP环境搭建需要手动配置Apache/Nginx、PHP解释器、MySQL等多重组件&#xff0c;光是处理版本兼容性和依赖问题就可能耗费半天时间——这…...

如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色

原文&#xff1a;如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色 | w3cschool笔记 &#xff08;请勿标记为付费&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 在网页开发中&#xff0c;为图片添加动态效果可以显著提升用户体验。今天&#xff0c;我将向…...

编程基础:执行流

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 执行流同步&#xff1a;顺序执行&#xff0c;只有一个执行流异步&#xff1a;新开后台(次)执行流&#xff0c;后台执行流要确保不能影响主执行流。共有两个执行流。 阻塞&#xff1a;任务阻塞执行流&#xff0c;导致…...

算法训练第十天

232. 用栈实现队列 代码&#xff1a; class MyQueue(object):def __init__(self):self.arr1 []self.arr2 []def push(self, x):""":type x: int:rtype: None"""self.arr1.append(x)def pop(self):""":rtype: int""…...

DAY43 复习日

浙大疏锦行-CSDN博客 kaggle找到一个图像数据集&#xff0c;用cnn网络进行训练并且用grad-cam做可视化 进阶&#xff1a;把项目拆分成多个文件 src/config.py: 用于存放项目配置&#xff0c;例如文件路径、学习率、批次大小等。 # src/config.py# Paths DATA_DIR "data…...

Ubuntu18.6 学习QT问题记录以及虚拟机安装Ubuntu后的设置

Ubuntu安装 1、VM 安装 Ubuntu后窗口界面太小 Vmware Tools 工具安装的有问题 处理办法&#xff1a; 1、重新挂载E:\VMwareWorkstation\linux.iso文件&#xff0c;该文件在VMware安装目录下 2、Ubuntu桌面出现vmtools共享文件夹&#xff0c;将gz文件拷贝至本地&#xff0c;解…...

嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)

一、C有几种传值方式之间的区别 一、值传递&#xff08;Pass by Value&#xff09; 机制&#xff1a;创建参数的副本&#xff0c;函数内操作不影响原始数据语法&#xff1a;void func(int x)特点&#xff1a; 数据安全&#xff1a;原始数据不受影响性能开销&#xff1a;需要复…...