MongoDB基础

MongoDB是一种基于分布式文件存储的文档型NoSQL数据库,适合处理大量半结构化数据。它提供了高性能、高可用性和自动碎片处理等功能,支持多种编程语言,并采用JSON格式存储数据。基本操作包括显示数据库、切换数据库、显示集合以及文档的CRUD操作。
摘要由CSDN通过智能技术生成

–mangoDB
nosql --not only sql 非关系型的数据库
随着网站访问量的额上升,网站的数据库性能出现了问题,nosql出现了
优点:分布式计算、低成本、架构的灵活性、半结构化数据、没有复杂的关系
缺点:没有标准化、有限的查询功能、最终一直是不直观的程序

文档型存储
MongoDB是一个基于分布式,文件存储的nosql数据库
由c++编写,运行稳定,性能高
旨在为WEB应用提供可扩展的高性能数据存储解决方案
面向集合存储,易存储对象类型的数据

Ø 模式自由

Ø 支持动态查询

Ø 支持完全索引,包含内部对象

Ø 支持查询

Ø 支持复制和故障恢复

Ø 使用高效的二进制数据存储,包括大型对象(如视频等)

Ø 自动处理碎片,以支持云计算层次的扩展性

Ø 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言

Ø 文件存储格式为BSON(一种JSON的扩展)

Ø 可通过网络访问
支持json格式

maogodb将数据存储为一个文件,数据结构由键值(key=>value)组成

https://blog.csdn.net/weixin_44626569/article/details/90295129(sql术语与moangodb的比较)

数据库
-数据库的服务器
-服务器用来保存数据
-mongod用来启动服务器

-数据库的客户端
-客户端用来操作服务器,对数据进行增删改查的操作
mongo用来启动客户端

–基本命令
show dbs 显示所有数据库
use 数据库名 进入到指定的数据库中(在MongoDB中,不需要手动创建数据库和集合,创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合)

db 显示当前的数据库名

show collections 显示数据库中的所有集合

–数据库的CRUD操作
1.向数据库中插入文档
db.集合名.insert(doc)
例子:向test数据库中的stus集合中添加学生对象
{name:“孙悟空”,age:18,gender:“男”}
db.stus.insert({name:“孙悟空”,age:18,gender:“男”})

当我们向集合插入文档时,如果没有给文档指定_id这个属性,则数据库会自动为文档添加。
该属性作为文档的唯一标识
_id可以自己指定,数据库就不会自己添加了,但是自己指定_id一定要确保唯一性。

其他插入方法:
db.<collection>.insertont()  --插入一个文档
db.<collection>.insertMany()  --插入多个文档对象

2.查询
db.集合名.find()
	查询当前集合中的所有文档,返回的是一个数组,可以用下标索引

find()用来查询集合中所有符合条件的文档
	{}表示查询集合中所有的文档

	{字段名:值}

db.集合名.findone()
	用来查询集合中符合条件的第一个文档,返回的是一个文档对象

db.集合名.find({}).count()
	返回所有结果的个数

3.删除
	db.集合名.remove()
	db.集合名.deleteOne()
	db.集合名.deleteMany()
		-remove()可以根据条件删除文档,传递条件的方式和find()一样
		默认删除所有符合条件的文档,但是第二个参数写一个true,则只会删除一个

		如果只传递一个空对象为参数,则会删除所有文档,但是性能略差.
	db.集合名.drop() 
	-会删除整个集合,性能高
	注意!!!如果你的数据库只有一个集合,你把它drop()了,数据库就一块没了.
	db.dropDatabase()
		-删除数据库


	真实的事情!一般的实际开发中是不会删除数据的,数据是最值钱的。
	一般会在数据中添加一个字段,,来表示数据是否被删除。

4.修改
	db.集合名.update(查询条件,新对象)
		-update()默认情况下会用新对象代替旧的对象

		-如果需要修改指定的属性,而不是替换需要使用修改操作符
			$set:可以用来修改文档中指定的属性

		-update()默认情况下只会改一个,如果想全部修改,再加一个参数{multi:true}
	db.集合名.update({查询条件},{$set:{新对象}})

			$unset:可以删除指定的属性

	db.集合名.updateMany()
		-同时修改多个符合条件的文档
	db.集合名.updateOne()
		-修改一个符合条件的文档
	db.集合名.replaceOne()
		-替换一个文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值