MongoDB-数据库文档操作(1)

news2024/11/18 4:18:52
任务描述

文档数据在 MongoDB 中的插入和更新。

相关知识

本文将向大家介绍文档数据在 MongoDB 中的基本操作。

文档的数据结构和 JSON 基本一样,所有存储在集合中的数据都是 BSON 格式。BSON 是一种类 JSON 的一种二进制形式的存储格式,简称: Binary JSON 。

本文将教你掌握: 1.插入文档命令; 2.更新文档的两种方法。

插入文档

插入文档命令db.集合名.insert(文档)。我们可以将数据定义为一个变量,如下所示:

document=({_id:1,
name: '王小明',
sex: '男',
hobbies: ['乒乓球','羽毛球'],
birthday: '1996-02-14'
});

然后执行插入操作:

db.person.insert(document)

person 是集合名,如果该集合不在该数据库中,MongoDB 会自动创建该集合并插入文档,查看 person 集合,如图1所示:

图1


图 1

更新文档

更新文档主要会用到 update() 方法和 save() 方法。

update() 方法

我们先把 document 插入到集合 person2;

db.person2.insert(document)

由于信息有误,上面 birthday 的格式错了,该怎么去修改这个字段的值呢?这时就要用到 update() 方法了。

用 update() 方法来更新 person2 的数据,把王小明的出生日期替换成1996,命令如下:

db.person2.update({birthday:"1996-02-14"},{$set:{birthday:"1996"}})

更新后如图2所示( pretty() 方法的作用是使文档整齐的输出):

图2


图 2

可以发现:

  • update() 有两个参数,都是对象,中间用逗号“ ,”间隔;
  • 第一个参数表示需要修改的值;
  • 第二个参数用 $set 操作符指向更新后的值。
save() 方法

save() 方法通过传入的文档替换已有文档

我们先把 document 插入到集合 person3 中;

db.person3.insert(document)

如果这时我们把一个人的数据都弄错了,怎么办呢?这时用 save() 方法来更新修改一下 person3 的数据就比较方便。

用 save() 方法把王小明的数据修改为李小红的数据:

db.person3.save({
"_id" :1,
"name" : "李小红",
"sex" : "女",
"hobbies" : [
"画画",
"唱歌",
"跳舞"
],
"birthday" : "1996-06-14"
})

注:如果 save() 法也指定_id,则对文档进行更新未指定_id则会执行插入功能,MongoDB 默认自动生成一个不重复的_id

总结:

  • update() 方法仅适用于修改某条数据中的某个键值;

  • save() 方法适用于修改整条数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1390236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++核心编程(包含:内存、函数、引用、类与对象、文件操作等)【持续更新】

🌈个人主页:godspeed_lucip 🔥 系列专栏:C从基础到进阶 C核心编程🌏1 内存分区模型🎄1.1 程序运行前🎄1.2 程序运行后🎄1.3 new操作符 🌏2 引用🎄2.1 引用的基…

蓝桥杯备赛 | 洛谷做题打卡day5

蓝桥杯备赛 | 洛谷做题打卡day5 图论起航,一起来看看深(广)度优先吧 ~ 文章目录 蓝桥杯备赛 | 洛谷做题打卡day5图论起航,一起来看看深(广)度优先吧 ~【深基18.例3】查找文献题目描述 输入格式输出格式样例…

AI大模型预先学习笔记二:prompt提问大模型、langchain使用大模型框架、fine tune微调大模型

文章目录 一、Prompt Engineering(怎么去提问大模型)1)环境准备2)交互代码的参数备注3)交互代码 二、LangChain(一个框架去使用大模型)1)LangChain核心介绍:I/O模块、数据…

Python基础知识:整理13 利用pyecharts生成折线图

首先需要安装第三方包pyecharts 1 基础折线图 # 导包,导入Line功能构建折线图对象 from pyecharts.charts import Line # 折线图 from pyecharts.options import TitleOpts # 标题 from pyecharts.options import LegendOpts # 图例 from pyecharts.options im…

嵌入式学习-网络编程-Day2

思维导图 tcp通信流程 udp通信流程 作业1 写一个基于TCP协议的客户端来控制RobArm机械臂 代码 #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.122.71" #define CLI_PORT 6666 #define CLI_IP "192.168.122.36"int main(int…

01背包问题dp数组理解dp[i][j-weight]

文章目录 一、01背包是什么&#xff1f;二、例子三、解决思路dp(动态规划) 一、01背包是什么&#xff1f; 有 n 件物品和一个最多能背重量为 w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。 每件物品只能用一次&#xff0c;求解将哪些物品装入背包…

关于jupyter突然打不开的问题

好久没有用python了&#xff0c;我的电脑环境是安装过anaconda和pycharm&#xff0c;但是有些简单的东西就希望在jupyter中测试一下&#xff0c;但是最近发现jupyter打不开了。 具体是&#xff1a; 在这里打开jupyter是可以的&#xff0c;但是在命令行就不行&#xff0c;表现为…

满二叉树、完全二叉树、完美二叉树的区别

在二叉树中&#xff0c;有三种特殊的二叉树&#xff0c;分别为&#xff1a;满二叉树、完全二叉树、完美二叉树。 现在来看三者的异同。 满二叉树: 完全二叉树&#xff1a; 完美二叉树&#xff1a; 这三个二叉树的区别都集中在最后一层。 完美二叉树最后一层的结点数必为2^(k-1…

【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)

前言 大家好吖&#xff0c;欢迎来到 YY 滴单片机速过系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏…

如何在Android设备上运行深度网络

介绍 在本教程中&#xff0c;您将了解如何使用 OpenCV 深度学习模块在 Android 设备上运行深度学习网络。教程是为 Android Studio 2022.2.1 编写的。 要求 从 https://developer.android.com/studio 下载并安装 Android Studio。从 Releases opencv/opencv GitHub 获取最…

项目压测优化实践思路

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术&#x1f525;如果感觉博主的文章还不错的…

一个完整的 Web 请求到底发生了什么

一、从输入一个网址开始 当我们在浏览器输入一个网址&#xff0c;然后按下回车&#xff0c;接下来浏览器显示了页面。网速好的话这之间可能就一秒&#xff0c;但在这一秒内到底发生了什么&#xff1f; 本文主要内容是试图记录一个完整 Web 请求的详细过程&#xff0c;从用户在…

计算机毕业设计 基于Java的手机销售网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

python学习笔记10(选择结构2、循环结构1)

&#xff08;一&#xff09;选择结构2 1、if……else……语句 #&#xff08;1&#xff09;基本格式 numbereval(input("请输入您的6位中奖号码&#xff1a;")) if number123456:print("恭喜您&#xff0c;中奖了") else:print("未中奖")#&…

为何我选择山海鲸可视化:五大优势解析

在众多的可视化产品中&#xff0c;我选择了山海鲸可视化&#xff0c;这并非偶然。在对比了其他同类产品后&#xff0c;我发现山海鲸可视化具有许多独特的优势和特点&#xff0c;使得它成为了我心目中的理想选择。下面我简单说一下我选择这款产品的几大原因&#xff0c;希望对在…

HBase 复制、备份、迁移

一、行业分享 分享1 阿里云 BDS-HBase 《HBase高效一键迁移的设计与实践.pdf》 https://developer.aliyun.com/live/730 https://developer.aliyun.com/article/704972 https://developer.aliyun.com/article/704977 https://blog.csdn.net/u013411339/article/details/10118…

音频和视频基础知识

声音 什么是声音&#xff1a; 声音是由物体振动产生的&#xff0c;物体发生振动&#xff0c;对周围的空气产生挤压&#xff0c;从而产生声音。声音是一种压力波&#xff0c;使周围的空气产生疏密变化&#xff0c;形成疏密相间的纵波&#xff0c;由此产生了声波。 声波三要素&…

多行SQL转成单行SQL

如下图所示 将以上多行SQL转成单行SQL 正则表达式如下 (?s)$[^a-zA-Z()0-9]*结果如下 灵活使用,也未必只能使用Sublime Text 提供了一个在线工具

SQL Server数据库镜像安装

搭建SQL Server数据库镜像&#xff08;证书&#xff09; 本次实验进行SQL server数据库镜像的搭建&#xff0c;采用证书的搭建模式 以下是搭建SQL server数据库镜像的环境设置 数据库 系统 IP 角色 计算机名 SqlServer2008R2 Server 2008R2 192.168.210.125 主体 Win-…

现代雷达车载应用——第3章 MIMO雷达技术 3.4节 自动驾驶使用的高分辨成像雷达

经典著作&#xff0c;值得一读&#xff0c;英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 3.4 自动驾驶使用的高分辨成像雷达 如今&#xff0c;许多专为ADAS功能设计的汽车雷达收发器&#xff0c;如NXP半导体的MR3003和德州仪器的AWR2243&…