MongoDB使用 及 MAC系统MongoDB的安装

MongoDB是一个跨平台的,面向文档的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

基本概念.png

什么是NoSql?

NoSql,全称是Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。


为什么要使用MongoDB?

JSON风格文件的形式,面向文档存储:数据存储

  • 对任何属性可索引
  • 复制和高可用性
  • 自动分片
  • 丰富的查询
  • 快速就地更新

MongoDB的特点

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。
  • 模式自由。
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持查询。
  • 支持复制和故障恢复。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性。
  • 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  • 文件存储格式为BSON(一种JSON的扩展)。
  • 可通过网络访问。

何处能使用MongoDB?

  • 大数据
  • 内容管理和交付
  • 移动和社交基础设施
  • 用户数据管理
  • 数据平台

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

基本的用法是存储JSON数据,这很适合JavaScript程序。其特性如下:
  1. 没有表结构的概念,每条记录可以有完全不同的结构
  2. 业务开发方便快捷
  3. sql数据库需要事先定义表结构再使用

MAC 系统下载安装 mongodb

1、MAC MongoDB 下载地址
2、下载MongoDB后,将mongodb-osx-x86_64-3.4.5.tar.ge 解压得到mongodb这个文件夹 复制到 /usr/local 路径下。
默认情况下在Finder中是看不到 /usr 这个目录的(终端用得溜的请略过),可以打开Finder后按shift + command +G 输入 /usr/local后回车便能看到这个隐藏的目录了

图示.png

3、上图中展示的就是我的本机的目录结构了,在/usr/local/mongodb/bin下就是mongodb的执行文件了。
4、在根目录下新建 data 文件夹,data 文件夹里面创建一个db文件夹,里面是用来存放数据库及其数据。
5、终端切换到/usr/local/mongodb/bin目录下。
6、执行 ./mongod 启动服务端。

执行 ./mongod后的图示.png

7、 如上图,显示等候客户端连接的界面就代表启动成功了,如果不成功检查下/data/db文件夹的位置是否正确。如果不行,删除重建。
8、打开浏览器,输入localhost:27017,会出现"It looks like you are trying to access MongoDB over HTTP on the native driver port."。
9、重新打开一个终端 进入 /usr/local/mongodb/bin这个目录,执行./mongo 命令,即可连接上。

屏幕快照 2017-06-23 15.15.11.png

注意:第六步 和 第九步 输入的执行命令 不相同!

10、如上图所示 ,终端上会一直显示一个 ‘>’ 符号,就代表连接成功了,此时就可以输入mongodb的sql命令:

demo 是创建的一个集合名字

show dbs //显示数据库
use demo //使用某个数据库
db.demo.insert({'name':'demo'}) //插入一条记录
db.demo.find() //查找所有记录
db.demo.findone() //查找一条记录
db.dropDatabase() //删除数据库
db.demo.drop //删除指定集合
show collections //显示所有集合
db.createColletion('demo') //创建集合
db.demo.save({}) //插入记录
db.demo.update({'_id',1},{$set:{name:'demo',age:20}})
db.demo.remove({}) //删除所有集合
for(var i=1;i<=10;i++){db.demo.insert({"name":"king"+i,"age":i})} //循环插入10条记录
db.demo.find().pretty() //格式化显示查询结果
db.demo.find().count() //查询数据条数
db.demo.find({"age":5}) /查找age是5的条目
db.demo.find({“age”:{$gt:5}}) //查找age大于5的条目
db.demo.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.demo.find({"age":{$gt:5}}).sort({"age”:-1}) //查找age大于5的条目且降序排列
MongoDB 的使用也会有一些限制,例如,它不适合于以下几个地方。
  • 高度事务性的系统:例如,银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
  • 传统的商业智能应用:针对特定问题的BI 数据库会产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。
  • 需要SQL 的问题。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,717评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,501评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,311评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,417评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,500评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,538评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,557评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,310评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,759评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,065评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,233评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,909评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,548评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,172评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,420评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,103评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,098评论 2 352

推荐阅读更多精彩内容