mongdb基本应用

数据库database

数据库包括关系型数据库和非关系型数据库;
1.关系型数据库:Access  mySql SqlServer oracle  db2等
由行和列组成表,然后由表组成数据库,各个表之间由关联
2.非关系型数据库:MongoDB,Redis,HBase,CouchDB等。
由文档组成集合,集合组成非关系型数据库

4月10号 MongoDB是什么

1.MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

2.它的特点:高性能、易部署、易使用,存储数据非常方便
3.mongodb存储的数据是bson数据

bson 是 json 的超集,比如 json 中没法储存二进制类型,而 bson 拓展了类型,提供了二进制支持。mongodb 中存储的一条条记录都可以用 bson 来表示。所以你也可以认为,mongodb 是个存 bson 数据的数据库。 BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很高

BSON有三个特点:轻量性、可遍历性、高效性。

mongdb的特性

面向集合存储,易存储对象类型的数据。

模式自由。

支持动态查询。

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

支持查询。

支持复制和故障恢复。

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

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

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

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

非关系型数据库的优势:

  1. 性能

NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常的高

  1. 可扩展性

同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

关系型数据库的优势:

  1. 复杂查询

可以用SQL语句方便的在多个表之间做非常复杂的数据查询。

  1. 事务支持

使得对于安全性能很高的数据访问要求得以实现。

总结
    数据库功能是用来存储数据的。

    数据库分为关系系数据库和非关系型数据库(nosql)

    关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文????

    非关系型数据库文件存储格式为BSON(一种JSON的扩展)。

MongoDB操作命令

1. MongoDB连接地址: mongodb://127.0.0.1:27017
针对数据库的操作
  1. use 数据库名字,切换数据库
    举例:
    创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建
    切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库

  2. show dbs
    将我们本地的所有数据库列出来

  3. db/db.getName()
    查看当前使用的数据库

  4. MongoDB
    数据库 -》 集合 -》 文档
    针对数据库(database)的操作

  5. help //列出所有的命令

  6. use db_name //切换数据库

  7. db||db.getName() //查看当前的数据库

  8. db.states() //显示当前数据库的状态

  9. db.dropDatabase() //删除数据库

  10. show dbs //显示当前所有的数据库

  11. db.versions() //查看当前mongodb的版本

  12. db.getMongo() //查看当前mongodb的链接地址

9.针对集合(collections)的操作

(1)创建一个集合
db.createCollection(“集合名字”, {size: 20, capped: true, max: 100});
db.集合名字.isCapped(); //判断集合是否为定容量

(2)得到指定名称的集合
db.getCollection(“集合名字”);

(3)得到当前db的所有集合
db.getCollectionNames();

(4)显示当前db所有集合的状态
db.printCollectionStats()

(5)删除集合
db.集合名.drop();

针对文档(docuemnt)的操作
1. 添加
    1. db.coll_name.save({}) 推荐
    2. db.coll_name.insertOne({})
    3. db.coll_name.insert({})
2. 查询

db.集合名字.find()//查询所有文档
db.coll_name.find(arg1,arg2) 所有的
参数解释:
arg1 表示的是匹配条件
arg2 表示将来输出的内容匹配 0 表示不要, 1表示要
举例:
db.movies.find({year:‘1993’},{_id:0,title:1})

升序
举例:db.movies.find({year:‘1993’},{_id:0,title:1}).sort({year:1})
降序
举例:db.movies.find({year:‘1993’},{_id:0,title:1}).sort({year:-1})

截取 某条以前 limit//要截取多少条
db.movies.find({year:‘1993’},{_id:0,title:1}).limit(5)
截取 某条以后 skip//从多少条开始截取
db.movies.find({year:‘1993’},{_id:0,title:1}).skip(5)

KaTeX parse error: Expected '}', got 'EOF' at end of input: …teachers.find({or:[{age:10},{age:40}]})

findOne() 第一条数据
db.teachers.findOne()

count() 计数
举例: db.movies.find({year: {$gt:“1993”}},{_id:0,title:1,year:1}).count() //16

优先级:

sort>skip>limit

3. 删除

db.coll_name.remove({})

4. 修改
db.coll_name.update(arg1,arg2,arg3,arg4)
参数解释:
    1. arg1: 匹配条件
    2. arg2: 修改的具体内容
    3. arg3: false / true 匹配几条 false 一条 true 多条
    4. arg4: false / true 修改几条 false 一条 true 多条

$set 直接设置

举例:db.teachers.update({age:120},{$set: {age: 80}},false,true)

$inc 在当前基础上增加多少

举例:db.teachers.update({age:120},{$inc: {age: 80}},false,true)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值