MongoDB适用和不适用场景以及安装,操作基本指令

1.适用场景
网站数据:适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
缓存:由于性能很高,也适合作为信息基础设施的缓存层。在系统重启之后,搭建的持久化缓存可以避免下层的数据的数据源过载。
大尺寸,低价值的数据:非常适合数十或者数百台服务器组成的数据库。
用于对象及JSON数据的存储:MongDB的BSON数据格式非常适合文档格式化的存储及查询。
2.不适用的场景
高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适合需要大量原子性复杂事务的应用程序。
传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更适合的选择。
需要使用SQL语句解决的场景:MongDB不支持SQL语句。
3.安装
sudo apt-get install mongdb
mongod --help 开启服务,用help查看所有参数
相关文件存放路径
可执行的文件存放路径:/usr/bin/mongod 和/usr/bin/mongo
数据库文件存放路径:/data/db
日志文件存放路径:/var/log/mongdb/mongod.log
配置文件存放路径:/etc/mongod.conf
4.基本指令:
启用服务:mongod
启用shell客户端:mongo
如果在启用服务时报错:表示默认的存储数据目录/data/db不存在
sudo mkdir -p /data/db
sudo chmod 777 /data/db
创建/data目录和/data/db目录,并指定读/写/执行权限,即可解决启动服务问题.
(1).查看当前所在数据库,默认在test里
db
(2).查看MongoDB里面所有数据库
show dbs
(3).切换数据库
use 数据库名
(4).查看当前数据库所有的集合(mm,gg)
show collections
(5).查看当前数据库指定集合的所有数据
db.mm.find()
db.gg.find()
(6).删除当前所有的数据库
db.dropDatabase()
5.MongDB数据库的集合的基本指令
(1).创建一个空集合
db.createCollection(‘stu’)
(2).查看当前数据库所有的集合
show collections
(3).删除指定的集合
db.stu.drop()
6.MongDB数据库的文档的增加
(1).切换进入指定数据库
use test
(2).直接写入文档
db.stu.insert({_id:1,name:“小王”,age:18}
(3).先创建空文档,再补充内容写入
data={}
data.id=2
data._id=2
data.age=16
db.stu.insert(data)
7.MongoDB数据库的文档的删除(默认删除全部)
(1).不限制条件,删除 全部的文档效果等同于db.stu.drop()
db.stu.remove()
(2).删除所有符合条件的文档
db.stu.remove({_id:1})
db.stu.remove({age:16})
(3).只删除第一个justOne:true,默认值为false表示全部删除
db.stu.remove({age:16},true)
8.MongDB数据库的文档的修改(默认只修改第一个)
(1):将集合里所有符合条件的文档,修改为指定的文档,注意会替换成整个文档内容
db.stu.update({_id:1},{age:28})
(2).不需要修改整个文档,只需要修改某个字段的,但是默认只修改第一个文档
db.stu.update({_id:1},{KaTeX parse error: Expected '}', got 'EOF' at end of input: …date({age:26},{set:{age:36}},{multi:true})
(4).对所有文档的 指定字段进行添加/修改的操作
db.stu.update({},{$set:{hometown:“中国”}},{multi:true})
(5)总结:update有三个参数:
第一个表示查询条件,如果为空则全部匹配;
第二个表示替换内容;
第三个表示替换的个数,默认只替换第一个,{multi : true} 表示全部替换。

save: 增加 / 修改 一个文档,
相当于是 insert 和 update的整合,一般根据_id判断。
1. 如果_id 存在,则修改为指定的文档数据。
2. 如果_id 不存在,则添加指定的文档数据。

17、MongoDB数据 文档的 查询
1. 基本查询方法

    -1 查询符合条件的第一个文档
    db.stu.findOne()
    db.stu.findOne({age : 18}) # 匹配一个条件


    -2 查询所有符合条件的文档
    db.stu.find()  # 条件为空,表示不限制条件
    db.stu.find({})
    db.stu.find({age : 18}) # 匹配一个条件
    db.stu.find({hometown : "三里屯", age : 18}) # 匹配多个条件

    -3 pretty() 将文档格式化显示
    db.stu.find({age : 18}).pretty()

猜你喜欢

转载自blog.csdn.net/qq_36455530/article/details/86024749