MongoDB基础

MongoDB

基于分布式文件存储的数据库由C++语言编写。B是一个介于关系数据库和非关系数据库(nosql)之间的产品。

缺点:不支持事务、不能进行多表联查

MongoDB解决mysql的"三高"问题

  1. 对数据库的高并发写入需求

  2. 对海量数据高效率存储访问需求

  3. 对数据库高扩展和高应用的需求

MongoDB应用场景

  1. 社交场景(e.g:朋友圈)

  2. 社游戏场景(e.g:用户得分、装备等)

  3. 物流场景(e.g:快递位置、状态、途径等)

  4. 视频场景(e.g:直播中的点赞数和互动留言等)

mysql和MongoDB的区别

  1. mysql里是表,mongoDB里面集合

  2. mysql存储方式是表,而mongodb存储方式是jsio文件

MongoDB与MySql存储方式比较

连接MongoDB(使用默认服务器和账号登录)

 #mongo

查看MongoDB(磁盘上所有的库名)

 show dbs

创建库(使用库)

 use dbname

若使用的库不存在,它会自动创建该库。(创建集合[数据表] 后要(记录),集合才会真正创建)

查看当前使用的数据库

 db

删除库

 db.dropDatabase()

创建集合

 db.createCollection("集合名")
 ​
 db.createCollection("students")

查看集合

 show collection / show tables

删除集合

 db.集合名.drop()

在集合中插入数据

 db.集合名.insert(document)

例子:

 db.student.insert(
     {
         shuai:true,
         money:true,
         gf:[{stuname:'小红'},{stuname:'小紫'}]
     }
 )

在集合中更新数据

MongoDB在集合中查询文档(find)

 MongoDB 查询文档使用 find() 方法。
 find() 方法以非结构化的方式来显示所有文档。
 db.collection.find(query)
 pretty() 方法以格式化的方式来显示所有文档,linux下有用。
 >db.col.find().pretty()

MongoDB的 And条件

 db.col.find({key1:value1, key2:value2})
 以上实例中类似于 WHERE 语句:WHERE key1=‘value1’ AND key2=‘value2

MongoDB的 Or条件

 db.col.find(
 {
 $or: [
 {key1: value1}, {key2:value2}
 ]
 }
 )

MongoDB的 And 与 Or 一起使用

 类似常规 SQL 语句为: ‘where key1>value1 AND (key2 =
 value2 OR key3 = value3)’
 db.col.find({“key1": {$gt:value1}, $or: [{“key2": “value2"},{“key3": “value3"}]})

MongoDB范围条件

 col"集合中 “key" 大于100,小于 200 的数据
 > db.col.find({“key” : {$lt :200, $gt : 100}})
 相当于RDBMS:
 Select * from col where key>100 AND key<200

MongoDB的模糊查询

 查询 name 包含“小"字的文档:
 db.col.find({“name”:/小/})
 查询 name 字段以“小"字开头的文档:
 db.col.find({“name”:/^小/})
 查询 name字段以“小"字结尾的文档:
 db.col.find({“name”:/小$/})

MongoDB的Limit 和 Skip操作

 > db.col.find().limit(NUMBER)
 skip方法同样接受一个数字参数作为跳过的记录
 条数。
 > db.col.find().limit(NUMBER).skip(NUMBER)

MongoDB的统计

 在 MongoDB 中使用count() 来统计个数
 >db.col.count(【{key:value}】)

MongoDB的排序

 在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指
 定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -
 1 是用于降序排列。
 >db.col.find().sort({KEY:1})

MongoDB的索引

查看索引
 db.collection.getIndexes() 
创建索引(单个索引,复合索引)
 db.collection.createIndex(keys,option)

例如 :db.col.createIndex({username:1【, key:1】})

删除索引
 db.collection.dropIndex(index) 

例如:db.col.dropIndex({username:1})

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值