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})

相关推荐
Python私教1 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
BestandW1shEs4 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师4 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球4 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...4 小时前
表的操作(MySQL)
数据库·mysql·表的操作
哥谭居民00014 小时前
MySQL的权限管理机制--授权表
数据库
wqq_9922502774 小时前
ssm旅游推荐系统的设计与开发
数据库·旅游
难以触及的高度5 小时前
mysql中between and怎么用
数据库·mysql
Jacky(易小天)5 小时前
MongoDB比较查询操作符中英对照表及实例详解
数据库·mongodb·typescript·比较操作符