MongoDB基础知识
MongoDB -非关系型数据库
MongoDB数据库介绍
------------面向文档的数据库 {"foo":3,"greeting":"Hello World!"}
mongodb的数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,这样提高查询效率,所谓内存数据映射,所以mongodb本身很吃内存。
特点:
- 区分大小写
- key唯一,不可重复
- 文档可嵌套
- 键值对是有序的
理解:
- 集合就是一组文档
- 文档类似于关系库里的行
- 集合类似关系库里的表
- 集合中的文档无需固定的结构(于关系型数据库的区别)
命名规则:
- 不能是空字符串("")
- 不能包含\0字符(空字符)
- 不能使用system.的前缀(系统保留)
- 建议不包含保留字"$"
- 用.分割不同命名空间的自己和(如:blog.users,blog.posts)
知识点:
- 多个文档组成集合,多个集合组成数据库
- 一个实例可以承载多个数据库
- 每个数据库都有独立的权限
- 保留数据库名称(admin,local,config系统默认的)
安装配置MongoDB
启动:
windows: mongod.exe --dbpath D:\\MongoDB\\data 路径 数据存储地址
Linux:sudo service mongod start
windows下启动链接Mongo:
1.找到安装目录下bin文件夹,按住shift+鼠标右键,选择打开cmd(win10打开Windows Powershell),输入:mongod --dbpath D:\\MongoDB\\data ,或者mongod.exe --dbpath D:\\MongoDB\\data
2.链接mongodb: 找到安装目录下bin文件夹,按住shift+鼠标右键,选择打开cmd(win10打开Windows Powershell),输入:mongo ,或者mongo.exe
注意:
输入命令行后出现:Suggestion [3,General]: 找不到命令 mongo,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令 。如果信任此命令,请改为键入“.\mongo”。有关详细信息,请参阅 "get-help about_Command_Precedence"。
则按要求在前面加上“.\”即可正常运行
使用命令行操作数据库(CRUD ——create read update delete)
查看数据库
show dbs;
创建数据库
use students
添加数据
stu = {name:"Jhon",age:12}
插入一条数据
db.students.insert(stu)
db.students.insertOne(stu)
插入多条数据
db.students.insertMany(stu)
查询数据
db.students.find()
查询一条数据
db.students.findOne()
查询多条数据
db.students.findMany()
依条件查询数据:
参数一(条件),参数二(输出那些参数)
db.students.find({sex:'male'},{name:1,age:true,_id:0})
大于等于60分 g: greater e:equal
db.students.find({grade:{'$gte':60})
或后面跟数组
db.students.find('$or':[{sex:'male',age:18},{sex:'female',age:16}])
排序 1=> 升序 -1=> 逆序
db.students.find().sort({age:1})
修改
db.students.find({sex:'female'},{'$inc':{age:1},{multi:true})
修改数据
1.修改的数据查询出来,得到一个对像:stu_obj = db.students.findOne()
2.将对象进行变更:stu_obj.name = "amy"
3.变更对象:db.students.update({name:"Jhon"},stu_obj)
注意,如果直接更改,会导致同条数据其他数据丢失
db.students.update(1,2) 1---条件,2---更改内容
删除数据
db.students.remove({name:'Jhon'})
也可以直接传入一个空字符----清空数据库:db.students.remove({})
MongoDB 数据可视化工具:Robomongo hu48
下载地址:
链接:https://pan.baidu.com/s/1gSLijhU3kOG6EGyWDKjPgA