IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MongoDB数据库 -> 正文阅读

[大数据]MongoDB数据库

-基本概念

数据库 (database)
集合  (conllection)
文档  (document)
	- 在mongoDB中,数据库和集合都不需要手动创建,
		当我们创建文档时,如果文档所在的集合或数据库不存在会手动创建数		   	 据库和集合

-基本指令:

show dbs
show databases
-显示当前的所有数据库
use 数据库名
-进入到指定的数据库中
db	
-db表示的是当前所处的数据库
show collections
-显示数据库中所有的集合

-数据库的CRUD(增删改查)的操作

- 向数据库中插入文档

	**db.<collection名>.insert(doc)**
		-向集合中插入一个文档
		-当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添加_id。
			该属性用来作为文档的唯一标识
		-_id我们可以自己指定,如果我们指定了数据库就不会在添加了,如果自己指定_id也必须确保它的唯一性。
	**db.<collection名>.insertOne()**
		-插入一个文档对象
	**db.<collection名>.insertMany()**
	 	-插入多个文档对象
		-例子:向test数据库中的,stus集合中插入一个新的学生对象
			{name:“张三”,age:18,gender:“男”}
			db.stus.insert({name:“张三”,age:18,gender:“男”});一个
			db.stus.insert([{name:“张三”,age:18,gender:“男”},{},{}]);多个

- 查询

**db.<collection名>.find()**
	 -查询当前集合中的所有的文档 
	 -find()用来查询集合中所有符合条件的文档
	 -find()可以接收一个对象作为条件参数
	 	{ } 表示查询集合中所有的文档
	 	{属性:值 } 查询属性 是 指定值的文档
	 -find()返回的是一个数组
	 	find()[索引下标]
**db.<collection名>.findOne()**
	-用来查询集合中符合条件的第一个文档
	-findOne()返回的是一个文档对象
	
**db.<collection名>.find({})**
	-用来查询集合中所有的文档

**db.<collection名>.find({}).count()**
	-查询所有结果的数量

在查询的时候,可以第二个参数的位置来设置查询结果的 投影
例如:

db.collection.find({},{name:1,_id:0,sal:1})
1显示  0不显示

- 修改

**db.<collection名>.update(查询条件,新对象)**
	-update() 默认情况下会替换所有的东西  ps:太狠了
	-如果需要修改指定的属性,而不是替换所有的。需要用“ 修改操作符 ”来完成
		**$set** 可以用来修改文档中的指定属性
		**$unset** 可以用来删除文档中的指定属性
			- 例如:
		db.collection.update(
				{ "_id":ObjectId("xxxx") },
				{ $set:{
						name:"ss",
						age:21,
						.....
					}
				}
		)
	
		db.collection.update(
				{ "_id":ObjectId("xxxx") },
				{ $unset:{
						name:"ss",
						age:21,
						.....
						(ps:name 后面的有没有无所谓 unset是删除name这个属性,有没有值都可以)
					}
				}
		)
		
  	**-uodate()默认只会修改一个**
  	
**db.<collection名>.updateMany()**
 	 - 同时修改多个符合条件的文档
 
**db.<collection名>.updateOne()**
	 - 修改一个符合条件的文档

- 删除

**db.<collection名>.remove()**
	- 删除符合条件的所有文档(默认条件下会删除多个)
		如果remove()第二个参数传递一个true,则只会删除一个
		如果只传递一个空对象作为参数,则会删除集合中所有文档
**db.<collection名>.deleteOne()**

**db.<collection名>.deleteMany()**
	-remove() 可以根据条件来删除文档,传递的方式和find()一样

**db.<collection名>.drop()**
	删除集合
**db.dropDatabase()**
	删除数据库

- 例子

skip()用于跳过指定数量的数据
	-db.collection.find().skip(10).limit(10);
	从11开始显示到20条数据

- 文档之间的关系

一对一
-在MongoDB中,可以通过内嵌文档的形式来体现一对一的关系

一对多/多对一
-也可以通过内嵌文档映射一对多的关系
多对多

- 排序

sort()可以用来指定文档的排序规则,sort()需要传递一个对象来指定排序规则 1表示升序 -1表示 降序

limit skip sort 可以 以任意的顺序进行调用

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:24:52  更:2021-09-14 13:26:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:36:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码