介绍
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
(源自百度百科)
安装
在linux ubuntu的环境下,Ctrl+ALT+T 打开终端,输入
sudo apt-get install mongodb
或者使用MongoDB提供的包来进行安装,分享
可以查看版本信息,输入
使用MongoDB
1.进入shell命令模式
在终端输入mongo
输入show dbs显示数据库列表
2.创建collection
我们用到db.createCollection()来创建一个collection
再输入show collections显示当前数据库中的集合(collection)
3.插入数据
插入数据有两种方式:insert和save
db.student.insert({_id:1, sname: ‘zhangsan’, sage: 20}) #_id可选
db.student.save({_id:1, sname: ‘zhangsan’, sage: 22}) #_id可选
这两种方式,其插入的数据中_id字段均可不写,会自动生成一个唯一的_id来标识本条数据。而insert和save不同之处在于:在手动插入_id字段时,如果_id已经存在,insert不做操作,save做更新操作;如果不加_id字段,两者作用相同都是插入数据。
例如:
添加的数据其结构是松散的,只要是bson格式均可,列属性均不固定,根据添加的数据为准。先定义数据再插入,就可以一次性插入多条数据
这时我们可以看到,student这个collection自动创建了,这说明MongoDB不需要预先定义collection,在第一次插入数据后就会自动创建
4.查找数据
db.collection.find(criteria, filterDisplay)
criteria :查询条件,可选
filterDisplay:筛选显示部分数据,如显示指定列数据,可选(当选择时,第一个参数不可省略,若查询条件为空,可用{}做占位符
如:db.student.find({},{sname:1, sage:1})
db.student.find()括号内不写时为查询所有记录
想效果好看点,可以这样
5.修改数据
db.collection.update(criteria, objNew, upsert, multi )
criteria: update的查询条件,类似sql update查询内where后面的
objNew : update的对象和一些更新的操作符(如$set)等,也可以理解为sql update查询内set后面的。
upsert : 如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi: mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。默认false,只修改匹配到的第一条数据。
其中criteria和objNew是必选参数,upsert和multi可选参数
6.删除数据
db.student.remove()
7.删除集合(collection)
db.collection.drop()
退出shell命令模式
在终端输入exit或者在键盘上按Ctrl+C
(内容来源参考:https://blog.csdn.net/flyfish111222/article/details/51886787)