MongoDB数据库的特点及命令总结

SQL: mysql,Oracle,sqlserver,db2
特点及应用场景:
1.高度事务性场景---> 银行,会计,仓库,贸易,需要大量的原子操作
2.数据存储有规范的表结构设计,预先定义好 明确的字段
3.数据价值高,对安全性和稳定性要求高
4.需要持久化存储的"冷数据"(不需要经常读写的数据)
5.需要通过SQL语言来支持的场景

NoSQL:
redis: key:value(string,list,hash,set,zset)
mondodb : {name : "小明", age : 18}
1.灵活的数据结构,需要事先设计 数据的增删改 的字段
2.高度收缩性场景,社交网络,热点资讯
3.处理热数据(需要经常读写的数据)
4.更容易扩展
每个数据库都有固定的端口:
mysql:3306, redis:6379, MongoDB:27017

========================MongoDB常用的命令
MongoDB的命令前一个单词小写,后面单词的首字母大写!!!
1.启动服务端:sudo mongod

2.启动shell客户端:mongo

3.查看所有数据库--->show dbs

4.切换数据库------>use.数据库名

5.查看当前所在的数据库---->db

6.查看当前所在数据库里面的所有集合(相当于MySQL的表)--->show collections

7.查看数据库指定集合里面的所有数据--->db.集合名.find()

8.删除当前数据库--->db.dropDatabase()

9.退出------>Ctrl+C
用户认证方式注意事项:
1. 第一次启动MongoDB是没有用户的,所以按 普通方式启动 MongoDB服务,然后再创建 root 用户。
2. 第二次启动MongoDB服务已经用户了,所以按 --auth 方式启动MongoDB服务,然后再切换用户。


==========================>使用MongoDB命令的注意点

1.在使用MongoDB命令时,如果命令是一个单词,则默认小写,
如果是多个单词组合,则第一个单词默认小写,后面单词的首字母大写,如:删除当前数据库的命令dropDatabase()

2.MongoDB命令的参数传递:一般都是以键值对的形式传递

3.一个MongoDB可以有多个数据库,一个数据库可以有多个集合,
一个集合可以有多条数据(data),每条数据都是字典键值对形式进行保存

4.MongoDB的数据库不需要提前创建,通过use 数据库名,可以直接切换使用,如果数据库里面没有数据,则不会被创建,
数据库里面有数据才会被创建

========================>MongoDB数据库的增.删.改.查.
--------------------MongoDB数据库的增加:(insert)
1.直接增加一个文档:
db.stu.insert({_id : 1, name "诸葛亮", age : 45, hometown : "蜀国"})

2.先创建一个空文档,再按照字段进行增加:
data = {}
data._id = 2
data.name = "刘备"
data.age = 48
data.hometown = "蜀国"
db.stu.insert(data)

--------------------MongoDB数据库的删除(remove)
1.remove(age:32) 默认删除符合条件的所有数据
# 删除年龄为32的所有数据
db.stu.remove({age:32})

2.remove({age:32},{justone:true}),添加第二个参数,则表示只删除满足条件的第一条数据
db.stu.remove({age:32},{justOne:true})

3.remove({}) 添加空条件,则删除所有数据

4.db.stu.drop() 删除当前数据库

--------------------MongoDB数据库的更新:(update)
1.update() 接收两个参数,第一个参数指定要更新的数据,第二个参数是更新后的参数
如果有两条数据都满足第一个参数,则只更新第一条数据
db.stu.update({age:32},{age:33}) # 表示把年纪为32的数据用年纪33来替换,_id不变,其他全部被替换

2.不做全部替换,只替换指定字段
# 通过$set修饰,只处理指定字段,有则修改,没有则增加
db.stu.update({age:32},{$set: {age:33,position:"丞相"}})

3.update()默认只处理满足条件的第一条数据,给update()添加第三个参数,处理全部满足条件的数据
db.stu.update({age:32},{$set:{age:33,hometwon:"蜀国"}},{multi:true})

--------------------MongoDB数据库的增加 + 修改:(save)
save() 根据id值进行处理:
1.如果id不存在,则增加该数据
db.stu.save({_id:4,name:"赵云",age:34,hometwon:"蜀国"})
2.如果id存在,则修改数据
db.stu.save({_id:4,name:"姜维",age:34,hometwon:"蜀国"})

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjydy.html