MongoDB数据库
标签:非关系型数据库 文档型数据库
特点:
1.由c++编写的数据库管理系统
2.支持丰富的数据操作,增删改查,索引,聚合
3.支持丰富的数据类型
4.使用方便,可以很好的扩展,相对比较成熟
5.支持众多的编程语言接口( python php c++ c#)
组成结构: 键值对 -->文档 -->集合 -->数据库
MongoDB的安装
自动安装: sudo apt-get install mongodb
默认安装位置:/var/lib/mongodb
配置文件位置:/etc/mongodb.conf
命令集: /usr/bin /usr/local/bin
Mongodb 命令
进入数据库交互操作界面
mongo
创建数据库
use databasesName
*use实际为选择使用哪个数据库,当数据库不存在时会自动创建
*use后并不会立即创建出数据库.而是需要等到插入数据时数据库才会创建
查看系统中的数据库
show dbs
删除数据库
先选择使用需要删除的数据库
use dbname
删除db代表的数据库
db.dropDatabase()
创建集合:
方法1
db.createCollection(collection_name)
eg:创建class1集合
db.cerateCollection(class1)
方法2
当向一个集合中插入数据的时候如果集合不存在则自动创建
db.collection_name.insert({})
查看数据库中集合
show collections
show tables
删除集合
db.collection.drop()
eg:删除class2集合
db.class2.drop()
集合的重命名
db.collection.renameCollection(newname)
eg:将class集合重命名为calss0
db.class.renameCollection('class0')
插入文档
db.collection_name.insert()
功能:插入一个文档
参数:要插入的文档
插入单个文档
eg:
db.class0.insert({'name':'lucy','age':18,'sex':w})
db.class0.insert({name:'Tom',age:18,sex:'m'})
*插入操作中键可以不加引号
*查看插入结果 db.class0.find()
*-id值可以自己插入,但不能够重复
插入一个文档
db.collection_name.insertOne
eg:
db.class0.insertOne({_id:12,name:"zhousi",age:12,sex:'men'})
插入多个文档
db.collection_name.insertMany
eg:
db.collection_name.insertMany([{name:'Toomy',age:18,sex:'m'},{'name':'gerrn','age':18,'sex':'w'}])
save插入文档
db.collection.save()
如果正常插入与insert用法相同
eg:
db.class0.save({name:'allen',age:12,'sex':'women'})
db.class.save([{name:'hen',age:18,sex:'m'},{'name':'bread','age':18,'sex':'w'}])
如果插入数据时有_id域,且_id域值存在时,则会修改原有文档,如果该值不存在则正常插入