MongoDB 基本操作
一、数据库操作
1. 切换或创建数据库
使用`use`命令切换到指定数据库,若该数据库不存在,在首次插入数据时会自动创建。
use myDatabase
2. 查看所有数据库
使用`show dbs`命令查看 MongoDB 实例中的所有数据库。
show dbs
3. 删除当前数据库
使用`db.dropDatabase()`命令删除当前使用的数据库。
db.dropDatabase();
二、集合操作
1. 创建集合
使用`db.createCollection()`方法创建集合,也可以不手动创建,插入文档时若集合不存在会自动创建。
db.createCollection("myCollection");
2. 查看所有集合
使用`show collections`命令查看当前数据库中的所有集合。
show collections
3. 删除集合
使用`db.collection.drop()`方法删除指定集合。
db.myCollection.drop();
三、文档操作
1. 插入文档
1.1 插入单个文档
使用`db.collection.insertOne()`方法插入单个文档。
db.myCollection.insertOne({ name: "John", age: 30 });
1.2 插入多个文档
使用`db.collection.insertMany()`方法插入多个文档。
db.myCollection.insertMany([{ name: "Alice", age: 25 },{ name: "Bob", age: 35 },]);
2. 查询文档
2.1 查询所有文档
使用`db.collection.find()`方法查询集合中的所有文档。
db.myCollection.find();
2.2 条件查询
在`find()`方法中传入查询条件对象,可根据条件查询文档。查询`age`大于 30 的文档
db.myCollection.find({ age: { $gt: 30 } });
2.3 投影查询
可指定返回的字段,第二个参数传入投影对象,值为 1 表示返回该字段,值为 0 表示不返回。
db.myCollection.find({ age: { $gt: 30 } }, { name: 1, _id: 0 });
3. 更新文档
3.1 更新单个文档
使用`db.collection.updateOne()`方法更新符合条件的第一个文档。`$set`是更新操作符,用于设置字段的值。
db.myCollection.updateOne({ name: "John" }, { $set: { age: 31 } });
3.2 更新多个文档
使用`db.collection.updateMany()`方法更新所有符合条件的文档。将`age`小于 30 的所有文档的`age`字段加 1,`$inc`是更新操作符,用于增加字段的值。
db.myCollection.updateMany({ age: { $lt: 30 } }, { $inc: { age: 1 } });
4. 删除文档
4.1 删除单个文档
使用`db.collection.deleteOne()`方法删除符合条件的第一个文档。
db.myCollection.deleteOne({ name: "Alice" });
4.2 删除多个文档
使用`db.collection.deleteMany()`方法删除所有符合条件的文档。
db.myCollection.deleteMany({ age: { $gt: 35 } });
四、索引操作
1. 创建索引
使用`db.collection.createIndex()`方法为指定字段创建索引。为`name`字段创建升序索引,`1`表示升序,`-1`表示降序。
db.myCollection.createIndex({ name: 1 });
2. 查看索引
使用`db.collection.getIndexes()`方法查看集合的所有索引。
db.myCollection.getIndexes();
3. 删除索引
使用`db.collection.dropIndex()`方法删除指定索引。
db.myCollection.dropIndex({ name: 1 });相关文章:
MongoDB 基本操作
一、数据库操作 1. 切换或创建数据库 使用use命令切换到指定数据库,若该数据库不存在,在首次插入数据时会自动创建。 use myDatabase 2. 查看所有数据库 使用show dbs命令查看 MongoDB 实例中的所有数据库。 show dbs 3. 删除当前数据库 使用db.…...
Eclipse JSP/Servlet 深入解析
Eclipse JSP/Servlet 深入解析 引言 随着互联网的快速发展,Java Web开发技术逐渐成为企业级应用开发的主流。在Java Web开发中,JSP(JavaServer Pages)和Servlet是两个核心组件,它们共同构成了Java Web应用程序的基础。本文将深入解析Eclipse平台下的JSP/Servlet技术,帮…...
Hyperledger caliper 性能测试
前言:Hyperledger caliper 的本质是使用node对被测试网络进行压力测试,因此需要nodejs。本次使用 Hyperledger caliper 0.5 对 fabric 1.4.6进行压测 准备条件:nodejs 16 (略 linux下 解压环境变量即可) # 创建工作…...
Record-Mode 备案免关站插件,让 WordPress 备案不影响 SEO 和收录
专为 WordPress 网站设计的实用工具,旨在帮助网站在备案期间无需关闭即可正常收录所有页面的信息,利于SEO。 功能特性 免关站展示:开启插件后,非管理员用户访问网站时,会看到以半透明遮罩层或不透明全屏遮罩样式呈现的…...
【Java 面试 八股文】Redis篇
Redis 1. 什么是缓存穿透?怎么解决?2. 你能介绍一下布隆过滤器吗?3. 什么是缓存击穿?怎么解决?4. 什么是缓存雪崩?怎么解决?5. redis做为缓存,mysql的数据如何与redis进行同步呢&…...
介绍几款免费的显示器辅助工具!
今天为大家介绍几款实用的显示器辅助软件,它们可以帮助你轻松切换显示源调节、显示器亮度,甚至优化显示效果,让你的屏幕使用体验更加便捷和舒适。 Monitor Brightness Adjuster-多屏幕亮度调节工具 如果你需要同时使用多个显示器࿰…...
django配置跨域
1、第一种 from django.views.decorators.csrf import csrf_exemptcsrf_exempt第二种 安装 pip install django-cors-headers在配置文件settings.py进入 INSTALLED_APPS [..."corsheaders", # 添加 ]MIDDLEWARE [corsheaders.middleware.CorsMiddleware, # 添加…...
web前端第三次作业
题目 本期作业 WEB第三次作业 请使用JS实一个网页中登录窗口的显示/隐藏,页面中拖动移动,并且添加了边界判断的网页效 代码图片 效果展示 代码 <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8&qu…...
【Pandas】pandas Series align
Pandas2.2 Series Computations descriptive stats 方法描述Series.align(other[, join, axis, level, …])用于将两个 Series 对齐,使其具有相同的索引 pandas.Series.align pandas.Series.align() 方法用于将两个 Series 对齐,使其具有相同的索引。…...
DeepSeek-V3网络模型架构图解
DeepSeek-V3网络架构的创新主要在两次,分别是在前馈层的MOE(混合专家模型)和在注意力中的MHA(多头潜在注意力,一种注意力计算规模压缩技术)。 MOE(混合专家模型) 回顾最初的MOE GS…...
Linux系统管理小课堂
1. 文件系统:你的数字房间大扫除 例子1:藏日记本的保险箱 chmod 700 my_diary.txt 👻 解释:把日记文件权限改成「只有主人能读写」,室友偷看时系统会翻白眼:“Permission denied!” 例子2&…...
明远智睿核心板在智能家居与工业网关中的应用实践
**——从硬件支持到场景落地的技术路径** SSD2351 在智能家居与工业物联网领域,设备需具备实时响应、多协议兼容及边缘计算能力。明远智睿新款核心板凭借其硬件特性,可高效支撑以下典型场景: #### **场景一:智能家居中枢网关**…...
Windows 系统 GDAL库 配置到 Qt 上
在地理信息开发中广泛使用的开源库,GDAL(Geospatial Data Abstraction Library))库提供了读取和处理各种地理空间数据格式的能力。 准备阶段 下载 GDAL 库:前往 GDAL 的官方网站(https://www.gisinternals.com/)下载…...
部署onlyoffice后,php版的callback及小魔改(logo和关于)
作为这篇博文的补充CentOS9 安装Docker+Dpanel+onlyoffice(https、更改字体、字号、去除限制)的避坑笔记,现在继续… 本次主要内容有:php中callback的调用、自签证书调用callback遇到SSL certificate problem: unable to get local issuer certificate问题、修改onlyoffic…...
《qt open3d网格拉普拉斯平滑》
qt open3d网格拉普拉斯平滑 效果展示二、流程三、代码效果展示 二、流程 创建动作,链接到槽函数,并把动作放置菜单栏 参照前文 三、代码 1、槽函数实现 void on_actionFilterLaplacian_triggered();void MainWindow::on_actionFil...
【愚公系列】《Python网络爬虫从入门到精通》004-请求模块urllib3
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...
网络安全技术复习总结
1|0第一章 概论 1.网络安全发展阶段包括四个阶段:通信安全、计算机安全、网络安全、网络空间安全。 2.2017年6月1日,我国第一部全面规范网络空间安全的基础性法律《中华人民共和国网络安全法》正式实施。 3.2021年 6月10日,《中华人民共和…...
初阶c语言(while循环二分法)
前言: 作业和那个不是一个级别的 内容: 3.在一个有序数组中查找具体的某个数字n。(讲解二分查找) 下标就是数组的下标,从0开始,有点难度,我头有点晕,就是大概知道了,写代码也写不出来的那种…...
如何使用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天
手把手教你用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天 目录 文章目录 手把手教你用**Java**语言在**Idea**和**Android**中分别建立**服务端**和**客户端**实现局域网聊天**目录**[toc]**基本实现****问题分析****服务端**Idea:结构预览Server类代码解…...
Java_多线程
并发和并行 并发 在同一时刻,有多个指令在单个CPU上交替执行 并行 在同一时刻,有多个指令在多个CPU上同时执行 多线程的实现方式 继承Thread类的方式 注意给线程设置名字,启动线程等操作 实现Runable的方式 自己创建一个类然后去实现…...
贾子理论体系:公理化东方智慧与现代科学工程化的认知范式
贾子理论体系:公理化东方智慧与现代科学工程化的认知范式摘要 贾子(本名贾龙栋,笔名Kucius)于2025–2026年间构建以“1-2-3-4-5”公理架构为核心的跨学科认知体系,涵盖思想主权元公理、两大规律、三大定律、四大支柱与…...
Qt界面嵌入Halcon窗口实战:告别弹窗,实现图像控件一体化显示
Qt与Halcon深度整合:实现无缝图像控件嵌入的工程实践 在工业视觉和医疗影像处理领域,Qt框架与Halcon图像处理库的结合堪称黄金搭档。但许多开发者初次尝试这种混合开发时,都会遇到一个恼人的问题——Halcon的显示窗口总是顽固地以独立弹窗形式…...
从零上手CircuitJS1:开源电路仿真工具的核心功能与实战演练
1. 初识CircuitJS1:浏览器里的电子实验室 第一次打开CircuitJS1时,我仿佛回到了大学电子实验室——只不过这次所有仪器都装进了浏览器窗口。这个完全开源的工具用JavaScript重构了经典的Falstad电路模拟器,不需要安装任何插件就能在Chrome或…...
Android Studio报错救星:一招永久优化Gradle下载,告别‘Could not install’
Android Studio开发环境深度优化:根治Gradle下载问题的系统方案 每次新建Android项目时,看着进度条卡在"Downloading Gradle"动弹不得,你是否也经历过这种绝望?Gradle下载失败堪称Android开发者入门的第一道坎ÿ…...
基于Nuxt 4与Shadcn/ui的现代全栈仪表板开发实战
1. 项目概述:一个现代全栈仪表板的技术栈选择 最近在做一个内部管理后台,需要快速搭建一个既美观又功能齐全的仪表板。我的核心需求很明确:开发要快、代码质量要高、用户体验要好,并且要能轻松应对多语言场景。在评估了市面上各种…...
Gemini3.1Pro解决新媒体小编选题难痛点
做新媒体的小编,最怕的不是写,而是“今天写什么”。 选题总是来得很急,热点总是变化很快,账号又要求持续更新,结果就是:内容压力大、时间不够用、框架搭不出来。如果你每天都在追热点、找角度、写标题、搭结…...
EasyRules:轻量级规则引擎的实战入门
1. 为什么你需要了解EasyRules? 如果你是一名开发者,肯定遇到过这样的场景:业务逻辑越来越复杂,代码里充斥着大量的if-else嵌套,每次修改都要小心翼翼,生怕影响其他逻辑。我曾经维护过一个用户积分系统&…...
告别虚拟机!Windows 11下用Conda一键安装GNU Radio 3.10(附国内镜像加速)
Windows 11下用Conda极速部署GNU Radio 3.10全攻略 在软件无线电(SDR)领域,GNU Radio一直是开源工具链中的标杆。但许多Windows用户在初次接触时,往往被复杂的依赖关系和繁琐的安装过程劝退。虚拟机卡顿、版本兼容性问题、依赖冲突…...
AI辅助构建复古像素风Hacker News聚合器:全栈开发实战
1. 项目概述:一个AI驱动的复古风Hacker News聚合器最近在逛Hacker News的时候,我总感觉“Show HN”板块里那些有趣的个人项目像流星一样,刷一下就过去了,想回头再找特别费劲。作为一个喜欢折腾的开发者,我就在想&#…...
开源与闭源软件质量对比:工程实践与激励机制才是关键
1. 开源与闭源软件质量之争:一场被误解的辩论最近和几位同行聊起软件质量的话题,不出所料,讨论很快又滑向了那个经典的对立:开源软件和闭源(或称专有)软件,到底谁的质量更好?场面一度…...
