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

MongoDB——文档增删改查命令使用

MongoDB

文档增删改查

命令操作描述
db.collection.insert() db.collection.insert()将单个文档或多个文档插入到集合中
db.collection.insertOne()插入文档,3.2 版中的新功能
db.collection.insertMany()插入多个文档,3.2 版中的新功能
db.collection.update更新或替换与指定过滤器匹配的单个文档,或更新与指定 过 滤 器 匹 配 的 所 有 文 档 。 默 认 情 况 下 ,db.collection.update()方法更新单个文档。要更新多个文档,请使用 multi 选项。
db.collection.updateOne(<filter>,<update>, <options>)即使多个文档可能与指定的过滤器匹配,最多更新与指定的过滤器匹配的单个文档。 3.2 版中的新功能
db.collection.updateMany(<filter>,<update>, <options>)更新所有与指定过滤器匹配的文档。 3.2 版中的新功能
db.collection.replaceOne(<filter>,<update>, <options>)即使多个文档可能与指定过滤器匹配,也最多替换一个与指定过滤器匹配的文档。
db.collection.remove()删除单个文档或与指定过滤器匹配的所有文档
db.collection.deleteOne()即使多个文档可能与指定过滤器匹配,也最多删除一个与指定过滤器匹配的文档。 3.2 版中的新功能
db.collection.deleteMany()删除所有与指定过滤器匹配的文档。 3.2 版中的新功能
db.collection.find(query,projection)查询文档
db.collection.findOne()

文档插入

 db.col.insert({title:'高数', description: '极限', by: '圆老师', url: 'www.gaoshu.com', tags: ['difficult', 'yue'], likes: 100})
WriteResult({ "nInserted" : 1 })

查看

> db.col.find()
{ "_id" : ObjectId("5d80715e019abe974dac5164"), title:'高数', description: '极限', by: '圆老师', url: 'www.gaoshu.com', tags: ['difficult', 'yue'], likes: 100}

更新文档

插入

db.inventory.insertMany( [{ item: "canvas", qty: 100, size: { h: 28, w: 35.5, uom: "cm" }, status: "A" },{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },{ item: "mat", qty: 85, size: { h: 27.9, w: 35.5, uom: "cm" }, status: "A" },{ item: "mousepad", qty: 25, size: { h: 19, w: 22.85, uom: "cm" }, status: "P" },{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" }])

为了更新文档,MongoDB 提供了更新操作符(例如$set)来修改字段值。
要使用更新运算符,请将以下形式的更新文档传递给更新方法:

{<update operator>: { <field1>: <value1>, ... },<update operator>: { <field2>: <value2>, ... },...
}

如果字段不存在,则某些更新操作符(例如$set)将创建该字段。
下面的示例在 inventory 集合上使用 db.collection.updateOne()方法更新项目等于“ paper”的
第一个文档:

db.inventory.updateOne({ item: "paper" },{ $set: { "size.uom": "cm", status: "P" },$currentDate: { lastModified: true }}
)
  • 使用$set 运算符将 size.uom 字段的值更新为“ cm”,将状态字段的值更新为“ P”,

  • 使用$currentDate 运算符将 lastModified 字段的值更新为当前日期。 如果 lastModified字段不存在,则$currentDate 将创建该字段。

更新多个文档则将条件改成范围查询即可

查询

MongoDB 查询文档使用 find() 方法。find() 方法以非结构化的方式来显示所有文档

db.collection.find(query, projection)
  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值
db.collection.find({"item":"aa"}, {"_id":1, "status":1})

如果你需要以易读的方式来读取数据,可以使用 pretty() 方法。

db.col.find().pretty()

指定条件查询

db.inventory.find( {} ) //所有文档
db.inventory.find( { status: "D" } ) //指定等于条件
db.inventory.find( { status: { $in: [ "A", "D" ] } } )   // 或条件
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )  // 或条件
db.inventory.find( { status: "A", qty: { $lt: 30 } } )  // and 条件
db.inventory.find( {status: "A",$or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} ) // and + or 条件

其他查询参考https://www.mongodb.com/docs/manual/tutorial/query-documents/

删除文档

在执行 remove()函数前先执行 find()命令来判断执行的条件是否正确,这是一个比较好的习惯。

db.collection.remove(<query>,{justOne: <boolean>,writeConcern: <document>}
)
  • query :(可选)删除的文档的条件。参考查询里query写法
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
  • writeConcern :(可选)抛出异常的级别。

删除所有数据

db.inventory.deleteMany({})

即使从集合中删除所有文档,删除操作也不会删除索引。

相关文章:

MongoDB——文档增删改查命令使用

MongoDB 文档增删改查 命令操作描述db.collection.insert() db.collection.insert()将单个文档或多个文档插入到集合中db.collection.insertOne()插入文档&#xff0c;3.2 版中的新功能db.collection.insertMany()插入多个文档,3.2 版中的新功能db.collection.update更新或替…...

【日常总结】Swagger-ui 导入 showdoc (优雅升级Swagger 2 升至 3.0)

一、场景 环境&#xff1a; 二、存在问题 三、解决方案 四、实战 - Swagger 2 升至 3.0 &#xff08;Open API 3.0&#xff09; Stage 1&#xff1a;引入Maven依赖 Stage 2&#xff1a;Swagger 配置类 Stage 3&#xff1a;访问 Swagger 3.0 Stage 4&#xff1a;获取 js…...

OpenCV C++ 图像 批处理 (批量调整尺寸、批量重命名)

文章目录 图像 批处理(调整尺寸、重命名)图像 批处理(调整尺寸、重命名) 拿着棋盘格,对着相机变换不同的方角度,采集十张以上(以10~20张为宜);或者棋盘格放到桌上,拿着相机从不同角度一通拍摄。 以棋盘格,第一个内焦点为坐标原点,便于计算世界坐标系下三维坐标; …...

RT-DETR手把手教程,注意力机制如何添加在网络的不同位置进行创新优化

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文独家改进&#xff1a;本文首先复现了将EMA引入到RT-DETR中&#xff0c;并跟不同模块进行结合创新&#xff1b;1&#xff09;Rep C3结合&#xff1b;2&#xff09;直接作为注意力机制放在网络不同位置&#xff1b;3&#xff09;高效…...

qt treeview 删除节点

Qt 中&#xff0c;要删除 QTreeView 中的节点&#xff0c;可以通过操作其模型&#xff08;QAbstractItemModel&#xff09;来实现。以下是一个简单的示例&#xff0c;展示如何从 QTreeView 中删除节点。 假设你有一个 QTreeView&#xff0c;它使用了 QStandardItemModel 作为模…...

【单词】【2019】

...

Java自动化驱动浏览器搜索稻香

下载最新的Chrome浏览器 查看chrome版本&#xff0c;在浏览器地址栏输入&#xff1a;chrome://version/ 下载对应的浏览器驱动&#xff0c;将其放到一个目录中&#xff0c;我放到了D:/chromedriver-win64 导入对应的依赖【注意&#xff1a;不要导入最新的版本&#xff0c;最…...

php聊天室通讯系统常用的接口对接函数 curl、file_get_contents()、WebSocket、消息队列

方法有&#xff1a; 1、HTTP请求&#xff0c;可以通过PHP的curl库或者file_get_contents()函数发送HTTP请求来与聊天室接口进行通信&#xff1b; 2、WebSocket协议&#xff0c;可以使用PHP的WebSocket库或者第三方库来与聊天室接口进行对接&#xff1b; 3、使用这些SDK或者包装…...

SQL基础理论篇(九):存储过程

文章目录 简介存储过程的形式定义一个存储过程使用delimiter定义语句结束符存储过程中的三种参数类型流控制语句 存储过程的优缺点参考文献 简介 存储过程Stored Procedure&#xff0c;SQL中的另一个重要应用。 前面说的视图&#xff0c;只能勉强跟编程中的函数相似&#xff…...

申银万国期货通过ZStack Cube信创超融合一体机打造金融信创平台

信创是数字中国建设的重要组成部分&#xff0c;也是数字经济发展的关键推动力量。作为云基础软件企业&#xff0c;云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施&#xff0c;ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级&#xff0c;是其中唯一兼容四种…...

SquareCTF-2023 Web Writeups

官方wp&#xff1a;CTFtime.org / Square CTF 2023 tasks and writeups sandbox Description&#xff1a; I “made” “a” “python” “sandbox” “”“” nc 184.72.87.9 8008 先nc连上看看&#xff0c;只允许一个单词&#xff0c;空格之后的直接无效了。 flag就在当…...

Docker-compose 安装mysql8

1、编写docker-compose.yml文件 version: 3.8 services:mysql:container_name: mysql8image: mysql:8.0.18restart: alwaysports:- 3306:3306privileged: truevolumes:- $PWD/log:/var/log/mysql- $PWD/conf/my.cnf:/etc/mysql/my.cnf- $PWD/data:/var/lib/mysqlenvironment:M…...

分布式锁实现对比

1、对比 tairzookeper性能高 低可靠性低 高 2、zookeper实现分布式锁 特点&#xff1a; Zookeeper能保证数据的强一致性&#xff0c;用户任何时候都可以相信集群中每个节点的数据都是相同的。 加锁 客户端在ZooKeeper一个特定的节点下创建临时顺序节点&…...

Ubuntu 系统上使用 QQ 邮箱的 SMTP 服务器发送邮件,msmtp(已验证)

安装 msmtp sudo apt-get update sudo apt-get install msmtp2 .配置 msmtp nano ~/.msmtprcdefaults auth on tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.logaccount qq host …...

笔记54:门控循环单元 GRU

本地笔记地址&#xff1a;D:\work_file\DeepLearning_Learning\03_个人笔记\3.循环神经网络\第9章&#xff1a;动手学深度学习~现代循环神经网络 a a a a a a a...

数据仓库高级面试题

数仓高内聚低耦合是怎么做的 定义 高内聚&#xff1a;强调模块内部的相对独立性&#xff0c;要求模块内部的元素尽可能的完成一个功能&#xff0c;不混杂其他功能&#xff0c;从而使模块保持简洁&#xff0c;易于理解和管理。 低耦合&#xff1a;模块之间的耦合度要尽可能的…...

【OpenGauss源码学习 —— 列存储(ColumnTableSample)】

执行算子&#xff08;ColumnTableSample&#xff09; 概述ColumnTableSample 类ColumnTableSample::ColumnTableSample 构造函数ColumnTableSample::~ColumnTableSample 析构函数ExecCStoreScan 函数ColumnTableSample::scanVecSample 函数ColumnTableSample::getMaxOffset 函数…...

【开源】基于JAVA的校园二手交易系统

项目编号&#xff1a; S 009 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S009&#xff0c;文末获取源码。} 项目编号&#xff1a;S009&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手商品档案管理模…...

C 语言结构体(struct)

C 语言结构体(struct) 在本教程中&#xff0c;您将学习C语言编程中的结构类型。您将借助示例学习定义和使用结构。 在C语言编程中&#xff0c;有时需要存储实体的多个属性。 实体不必仅具有一种类型的所有信息。 它可以具有不同数据类型的不同属性。 C 数组允许定义可存储相…...

Linux:zip包的压缩与解压

压缩文件&#xff1a; zip命令 语法&#xff1a; zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>] 补充说明&#xff1a;zi…...

TokenTracker:基于事件监听的以太坊代币转账实时追踪工具实战

1. 项目概述与核心价值最近在搞一个涉及链上数据分析的小项目&#xff0c;需要实时追踪特定代币的链上转账记录。一开始想着直接用区块浏览器的API&#xff0c;但试了几个发现要么有频率限制&#xff0c;要么数据不够实时&#xff0c;要么就是没法按我想要的粒度&#xff08;比…...

华为在数字中国建设峰会:只有根系扎实,行业应用才能长出来

作者&#xff1a;王聪彬“根技术、落地”是华为在第九届数字中国建设峰会想要传递出的两个关键字。“根技术”顾名思义是华为自主研发、长期积累、持续投入的核心底层技术&#xff0c;构建起数字中国建设的底层根基。“落地”则是华为一直在谈的深耕行业智能化实践&#xff0c;…...

Fairseq-Dense-13B-Janeway入门必看:Temperature/Top-p参数调优对创意写作影响的实测分析

Fairseq-Dense-13B-Janeway入门必看&#xff1a;Temperature/Top-p参数调优对创意写作影响的实测分析 1. 模型简介与快速上手 Fairseq-Dense-13B-Janeway是KoboldAI发布的130亿参数创意写作大模型&#xff0c;专门针对科幻与奇幻题材进行优化训练。该模型使用2210本科幻与奇幻…...

AI、VR、AR与元宇宙在人力资源管理中的融合应用与落地实践

1. 项目概述&#xff1a;当HR遇见未来科技最近和几位做人力资源的朋友聊天&#xff0c;发现一个挺有意思的现象&#xff1a;大家嘴上都在聊数字化转型&#xff0c;但一提到AI、VR这些具体技术&#xff0c;很多人第一反应还是“那是IT部门的事”或者“听起来很酷&#xff0c;但离…...

CANN/hcomm HCCL通信管理器API

HcclGetRootInfo 【免费下载链接】hcomm HCOMM&#xff08;Huawei Communication&#xff09;是HCCL的通信基础库&#xff0c;提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT&#xff1a;支持A…...

如何彻底解决显卡驱动冲突问题:Display Driver Uninstaller深度解析与实战指南

如何彻底解决显卡驱动冲突问题&#xff1a;Display Driver Uninstaller深度解析与实战指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/displ…...

在Windows系统上快速配置Taotoken的Python调用环境

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Windows系统上快速配置Taotoken的Python调用环境 对于使用Windows系统的开发者来说&#xff0c;快速搭建一个能够调用大模型API的…...

AISMM模型如何重塑技术决策链:4类典型组织架构下的领导力适配公式(附诊断速查表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AISMM模型与技术领导力 AISMM&#xff08;Artificial Intelligence Strategy Maturity Model&#xff09;是一种面向AI工程化落地的五阶段能力成熟度框架&#xff0c;专为技术领导者设计&#xff0c;用…...

Clawtick CLI:统一命令行工具入口,提升开发运维效率

1. 项目概述&#xff1a;一个命令行里的“瑞士军刀”如果你和我一样&#xff0c;每天的工作都离不开终端&#xff0c;那肯定对命令行工具&#xff08;CLI&#xff09;又爱又恨。爱的是它的高效、直接和可编程性&#xff0c;恨的是不同工具之间五花八门的命令、参数和配置方式&a…...

一台电脑,四人同屏:Nucleus Co-Op 分屏游戏神器完全指南

一台电脑&#xff0c;四人同屏&#xff1a;Nucleus Co-Op 分屏游戏神器完全指南 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为单机游戏无法…...