MongoDB【MongoDB命令、CRUD操作 】(二)-全面详解(学习总结---从入门到深化)

 

目录

MongoDB命令

CRUD操作 


MongoDB命令

基本操作 

查看数据库

show dbs;

切换数据库 如果没有对应的数据库则创建

use 数据库名;

创建集合

db.createCollection("集合名")

查看集合

show tables;
show collections;

删除集合

db.集合名.drop();

删除当前数据库

db.dropDatabase();

实时效果反馈

1.MongoDB查看集合的命令是?

A select * from collection

B use collection

C show collections

D 以上都不对

CRUD操作 

添加文档

添加单个文档,如果集合不存在,会创建一个集合

db.collection.insertOne()

如果不指定id, MongoDB会使用ObjectId的value作为id

db.inventory.insertOne(
{ item: "canvas", qty: 100, tags: ["cotton"],
size: { h: 28, w: 35.5, uom: "cm" } })

添加多个文档

db.collection.insertMany()
db.inventory.insertMany([{ item: "journal", qty: 25, tags: ["blank","red"], size: { h: 14, w: 21, uom: "cm" } },{ item: "mat", qty: 85, tags: ["gray"],size: { h: 27.9, w: 35.5, uom: "cm" } },{ item: "mousepad", qty: 25, tags: ["gel","blue"], size: { h: 19, w: 22.85, uom: "cm"
}}])

查询文档

首先插入一批文档,再进行查询

db.inventory.insertMany( [{ item: "journal", qty: 25, size: { h: 14,w: 21, uom: "cm" }, status: "A" },{ item: "notebook", qty: 50, size: { h: 8.5,w: 11, uom: "in" }, status: "A" },{ item: "paper", qty: 100, size: { h: 8.5,w: 11, uom: "in" }, status: "D" },{ item: "planner", qty: 75, size: { h:22.85, w: 30, uom: "cm" }, status: "D" },{ item: "postcard", qty: 45, size: { h: 10,w: 15.25, uom: "cm" }, status: "A" }
]);

查询集合所有文档

db.inventory.find({})

查询指定内容的文档,匹配1条

db.inventory.find( { size: { h: 14, w: 21, uom: "cm" } } )

匹配0条,原因是顺序不匹配

db.inventory.find( { size: { w: 21, h: 14, uom: "cm" } } )

匹配size中uom属性为“in”的文档

db.inventory.find( { "size.uom": "in" } )

匹配size中h属性值小于15的文档

db.inventory.find( { "size.h": { $lt: 15 } } )

匹配h属性小于15并且uom属性为“in”,并且“status”属性为"D"的文档

匹配h属性小于15并且uom属性为“in”,并且“status”属性为"D"的文档

更新文档

插入下列文档,供更新操作

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" },{ item: "planner", qty: 75, size:{ h: 22.85, w: 30, uom: "cm" }, status: "D" },{item: "postcard", qty: 45, size: { h: 10, w:15.25, uom: "cm" }, status: "A" },{ item: "sketchbook", qty: 80, size: { h: 14,w: 21, uom: "cm" }, status: "A" },{ item:"sketch pad", qty: 95, size: { h: 22.85, w:30.5, uom: "cm" }, status: "A" }] );

更新item值为“paper”的第一个文档 将它的size.uom设置为“cm”,status值设置为"P" 并且把lastModified字段更新为当前时间,如果该字段不存在,则生成一个

db.inventory.updateOne({ item: "paper" },{$set: { "size.uom": "cm", status: "P" },$currentDate: { lastModified: true }}
)

更新qty属性值小于50的文档 将它的size.uom设置为“in”,status值设置为"P" 并且把lastModified字段更新为当前时间,如果该字段不存在,则 生成一个

db.inventory.updateMany({ "qty": { $lt: 50 } },{ $set: { "size.uom": "in", status: "P" },$currentDate: { lastModified: true }}
)

把item属性为“paper”的文档替换成下面的内容

db.inventory.replaceOne({ item: "paper" },{ item: "paper", instock:
[ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] })

删除文档

删除集合所有文档

db.inventory.deleteMany({})

删除指定条件的文档

db.inventory.deleteMany({ status : "A" })

最多删除1个指定条件的文档

db.inventory.deleteOne( { status: "D" } )

与SQL语法的对应

实时效果反馈

1.MongoDB插入单个文档命令是?

A db.collection.insertMany()

B db.collection.insertOne() 

C db.collection.find()

D 以上都不对

2.MongoDB查询集合所有文档的命令是?

A db.collection.find({id:0})

B db.collection.findAll()

C db.collection.find({})

D 以上都不对

3.MongoDB更新文档的命令不包括?

A db.collection.updateOne()

B db.collection.updateMany()

C db.collection.replaceOne()

D db.collection.replaceMany()

4.MongoDB删除集合所有文档的命令?

A db.collection.deleteOne()

B db.collection.deleteMany()

C db.collection.deleteAll()

D db.collection.deleteMany({})

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于matlab使用深度学习的语义分割算法实现(附源码)

一、前言 此示例演示如何使用语义分割网络对图像进行分割。 语义分割网络对图像中的每个像素进行分类,从而生成按类分割的图像。语义分割的应用包括自动驾驶的道路分割和医疗诊断的癌细胞分割。 此示例首先向您展示如何使用预训练的 Deeplab v3 [1] 网络分割图像&am…

看一眼Mysql查询语句

目录 🛻 查询数据 🛻基本查询语句 🛻单表查询 🚕查询所有字段 🚕查询指定字段 🚕查询指定记录 🚕带in关键字的查询 🚕带between and的范围查询 🚕带like的字符匹…

NIO-Selector 网络编程

目录 一、阻塞 & 非阻塞 1、阻塞 2、非阻塞 二、selector 1、连接和读取 2、处理客户端断开 3、处理消息的边界 4、ByteBuffer大小分配 三、多线程优化 四、NIO vs BIO 1、stream vs channnel 2、IO模型 阻塞IO 非阻塞IO 多路复用 异步IO模型 一、阻塞 &am…

虚拟现实(VR)在医疗保健中的5种应用

医疗保健中的VR虚拟现实 虚拟现实的由来已久,18世纪,法国的医生使用布制的分娩模拟器向助产师和外科医生教授医学技术。在20世纪60年代初,医生一边对心肺复苏学员口述心肺复苏的技巧,一边使用一家塑料玩具厂家制造的塑料娃娃现场…

K8s 为什么要弃用 Docker

K8s 为什么要弃用 Docker 最近在学习容器技术的过程中,看到有关于Kubernetes“弃用 Docker”的事情,担心现在学 Docker 是否还有价值,是否现在就应该切换到 containerd 或者是其他 runtime。 随着深入了解,这些疑虑的确是有些道理…

Unreal 5 实现丧尸伤害和死亡

这一篇主要是实现玩家攻击丧尸可以造成伤害和自身血量为零时,丧尸可以死亡。丧尸也可以对玩家造成伤害,有攻击范围的判定。 这一篇的功能实现有四个功能: 丧尸被攻击掉血丧尸死亡处理玩家被攻击掉血玩家死亡处理 丧尸被攻击掉血 子弹的修改…

【C++】异常

文章目录 1. C语言传统的处理错误的方式2. C异常概念用法异常的抛出和匹配原则规则1情况2抛出异常位置最近的验证对象类型匹配的验证 规则3规则4 异常的重新抛出异常规范 1. C语言传统的处理错误的方式 错误处理机制: 1.终止程序 如:assert 断言终止 &a…

TX Text Control .NET for WPF 31.SP3 Crack

.NET WPF 应用程序的文档处理 将文档编辑、创建和 PDF 生成添加到您的 WPF 应用程序中。 视窗用户界面 功能齐全的文档编辑器 TX Text Control 是一款免版税、完全可编程的丰富编辑控件,它在专为 Visual Studio 设计的可重用组件中为开发人员提供了广泛的文字处理功…

[每日一水] Latex Tikz foreach 循环嵌套

\documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture} \foreach[count\i] \x in {20,18,...,2}\foreach[count\j] \y in {20,18,...,2}\node at (\i,\j) {\x \y}; \end{tikzpicture} \end{document}\node at (\i,\j) {\x \y}; 就是写文本的意思

Day.1 LeetCode刷题练习(最长公共前缀 C/C++两种解法)

题目: 例子: 分析题目: 主要目的:求出各个字符串的公共前缀 思路(本人解法): 用所给实例来看,不难看出我们可以直接以竖着对应来查看是否是公共前缀 , 这样就有了一…

【Python爬虫与数据分析】文件读写

目录 一、概述 二、txt文件读写 三、csv文件读写 四、Json文件读写 一、概述 读写模式: r:读数据w:覆盖写入a:追加写入rb:以二进制形式读出wb:以二进制形式写入ab:以二进制形式追加r、w、…

TypeScript 总结

文章目录 TypeScript 总结概述运行ts文件方式一方式二 基础声明变量类型数组元组联合类型取值限制 枚举类型any & unknownvoid & undefined类型适配 面向对象函数普通函数箭头函数可选参数默认参数 对象创建对象对象的类型限制 类和接口泛型简单使用多个泛型默认泛型类…