文章目录
- 一、MongoDB是什么?
- 二、基础操作
- 1.显示数据库
- 2.选择数据库
- 3.创建集合
- 4.查看集合
- 5.删除集合
- 三、数据的基本操作
- 1.插入数据
- 2.查看数据
- 3.修改数据
- 4.删除数据
- 总结
一、MongoDB是什么?
MongoDB 是一种文档数据库,它所具备的可扩展性和灵活性可以满足您对查询和索引的需求。
简单来说是一个数据库。
特点:
- 介于关系数据库和非关系数据库之间。
- 而且它是基于分布式文件存储的数据库。
- c++语言编写
二、基础操作
1.显示数据库
show databases
2.选择数据库
use databasename
选择local数据库(注意:这里如果选择的是不存在的数据库,不会报错,后期当该数据库中有数据时会自动创建。)
3.创建集合
db.createCollection('集合名')
创建集合c1(也可隐式创建)
4.查看集合
show collections
5.删除集合
db.集合名.drop()
三、数据的基本操作
1.插入数据
db.集合名.insert(Json数据)
若集合不存在会隐式创建
mongodb会给插入的每一条数据增加一个全球唯一的_id(id组成:时间戳、机器码、pid、计数器)。
可以自己添加_id,在插入的Json数据中增加_id键就可以覆盖(不建议这么做)
插入多条数据
db.c1.insert([
{name: 1, age: 12},
{name: 2, age: 13}
])
mongodb支持部分Json语法,因此可以使用for循环插入多条数据.
for(var i = 0; i < 10; i++){
db.c2.insert({name:'a' + i, age:i})
}
因为for循环是一条一条插入,前九条提示信息看不到,只能看到最后一条插入成功的提示。所以会有WriteResult({ "nInserted" : 1 })
2.查看数据
db.集合名.find(条件,[查询的列])
中括号内为可选参数
条件:
查询所有数据:{}或不写
查询age=6的数据:{age:6}
查询age=5且性别为男的数据:{age:6,sex:‘男’}
查询的列:
查询所有的列:不写
查询age列:{age:1}
除了age列都显示:{age:0}
不管怎么写系统定义的_id都会显示
显示所有数据
显示age=6的数据
查询age=5且name=a6的数据
显示age列
显示除age外所有列
运算符
运算符 | 作用 |
$gt | 大于 |
$gte | 大于等于 |
$lt | 小于 |
$lte | 小于等于 |
$ne | 不等于 |
$in | in |
nin | not in |
例:
查询age>5的数据
查询age=5,8的数据
3.修改数据
db.集合名.update(条件,新数据,[是否新增,是否修改多条])
是否新增:指条件匹配不到数据则插入(true是插入,false是不插入默认),找不到就将数据插入。
是否修改多条:指将匹配成功的数据都修改(true是,false否默认)。
目的是将名字a1修改为a10,但是默认使用新数据替换匹配到的数据,所以age:1
没有了。
修改器 | 作用 |
$inc | 递增 |
$rename | 重命名列 |
$set | 修改列值 |
$unset | 删除列 |
使用修改器将a2的name修改为a11
4.删除数据
db.集合名. remove(条件,[是否删除一条])
是否删除一条:true是,false否默认
删除一条
全部删除
总结
MongoDB 的基本操作就是这么多了,很多地方的语法和关系型数据库MySQL很像,但是在细节上还是有差别。我是孤城浪人,一名正在前端路上摸爬滚打的菜鸟,欢迎你的关注。