mongoDB是一个基于分布式文件存储的数据库,介于关系型数据库和非关系型数据库之间,在非关系型数据库中功能最丰富,
最像关系型数据库。数据结构松散,类似于json的bson格式,可以存储比较复杂的数据类型 支持对数据库建立索引
在ubuntu 16.04上安装mongoDB 以下命令均在root用户下执行,非root用户自行加上sudo 前缀
apt-get install mongodb
查看mongoDB版本
mongo -version
Mongo服务的启动和停止
service mongodb start
service mongodb stop
当然默认mongodb在ubuntu系统中是开机自启动的
查看mongodb的进程号确定服务是否正常启动着:
pgrep mongo -l
服务可以安装就可以卸载,卸载服务的命令:
apt-get --purge remove mongodb mongodb-clients mongodb-server
mongodb的shell命令模式:方式如下图
按ctrl + c 或者 exit都可以退出
数据库相关
show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表table)
show users:显示所有用户
use yourDB:切换当前数据库至yourDB
db.help() :显示数据库操作命令
db.yourCollection.help() :显示集合操作命令,yourCollection是集合名
在mongo中使用数据库use student 就可以切换到student数据库,因为mongodb无需创建,在使用时会自动创建
命令:db.createCollection('class') 创建一个聚集集合,在插入数据时,mongodb也会自动创建对应集合
以上说明使用collection时并不需要先创建,同时 _id属于可选项,省略就会自动生成,来标识本条数据
数据操作命令:
db.collection_name.insert
db.collection_name.save
不同之处:手动插入_id时,如果id存在,insert就不会有任何操作,但是save会对该条数据做更新
如果没有加_id,那么两者都是插入数据
插入的数据为bson格式:
例如:{_id:1, sname:'zhangsan', sage:20}
如果操作多个数据可以用这样的方式:[{sname:'lili', sage:20},{sname:'ww',sage:22}]
db.collection_name.find(criteria, filterDisplay)
criteria 查询条件,选填
filterDisplay 筛选显示的数据
具体用法实例如下图示,在下图中$or 表示或者
db.collection_name.remove({item:'value'}) 删除某一条数据