MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。html
网上搜索的结果说mongodb插入效率比mysql高云云的。。
不过主要应该是由于json的缘故,为何json呢,由于围绕json有不少可用的开源产品,好比elasticsearchmysql
不过依我看,最主要的缘由就是其对JavaScript良好的支持吧sql
官方下载地址mongodb
咱们也能够利用homebrew和docker等第三方工具来进行MongoDB的安装docker
在这里我推荐Robomongo
没有缘由,就是用着还挺顺手 -。-shell
打开终端,执行sudo mongod --config /usr/local/etc/mongod.conf
启动MongoDB,再另开一个终端输入mongo
就能成功打开mongo shell并进行我们的操做了数据库
界面以下json
若是须要退出MongoDB,按下control+c
便可
注意:以上均在mac环境下成功实现,win 下本人还何尝试..下次找个机会试试api
请开始咱们的表演elasticsearch
先利用use trevor-mongo
建立一个名为trevor-mongo的数据库
能够看到已经自动切换至trevor-mongo
这个数据库,如今就能够利用db.test.insertOne({title: "第一条数据"})
来插入一条数据
若是在数据库中没有数据表,MongoDB则会自动给你建立数据表
就这样,恭喜你,已经在test
数据表里面添加了第一条数据
在上面咱们已经添加了一条数据,那么如今能够在终端里面输入db.test.find({})
来查询test
数据表下的全部数据
大伙有没有以为_id
很烦人??
其实咱们彻底能够将它过滤掉
在db.test.find({}, {_id: 0, title: 1})
这条命令里面,第一个大括号里面应该写入筛选条件,若是为空,则默认为all
。第二个大括号则是用来放数据显示条件,0表明不现实,1表明显示
咱们能够利用db.test.updateOne({},{$set: {des: "no.1"}})
来为数据添加一个des字段,再查寻一下
bingo!更新成功
利用db.test.deleteOne({title: "第一条数据"})
,咱们能够删除从开头起第一个title
为"第一条数据"
的文档
就这样,咱们已经将最简单的操做给过了一遍,是否是很简单?因此说MongoDB对初学者真的很友好
在这以前,推荐先去看看MongoDB基本命令
如今,咱们能够利用豆瓣开发者api来模拟一些数据
首先我们先GET一下豆瓣电影top250的数据
将subjects
里面的数据复制并打开编辑器,输入
将这些代码粘贴至mongo shell
并执行,这样就在数据库下成功建立了一个名为movies
的数据表。
这时咱们能够利用Robomongo来查看数据
首先是链接数据库,MongoDB默认端口号为27017
如今开始有目的性的查询数据
假设我们有个需求,须要得到评分9.2以上的全部电影,而且只需显示电影名(title
),电影评分(rating.average
)以及电影年份(year
)并将它们升序排列输出
这说白了就是一个条件查询
代码以下:
db.movies.find({"rating.average": {$gt: 9.2}}, {title: 1, year: 1, "rating.average": 1, _id: 0}).sort({"rating.average": 1})
就这样成功完成查询,是否是很简单?
就这样,祝你们 have a nice day ; )