一点MongoDB的基础及mongodb在mac上的安装
最近发现维持写博客的习惯还是挺困难的,尤其对我来说,计划好的事过了好长时间才想到要去做.
这段时间一直在熟悉MongoDB,首先我是参考的这一篇:8天学通MongoDB 原博主写得非常好,我这里就随便再写一点东西作为补充,或者说原博主可能觉得比较基础的概念没讲的我这里就说一下.
Mongodb的一些概念
首先是对MongoDB的体会吧,MongoDB这东西我觉得对于原来的关系型数据库来说需要接受一些新的概念,这些概念有与传统SQL很不一样的地方.
首先是NoSQL的概念,即:数据库的查询不通过SQL语句进行,虽然有些项目想统一SQL和NoSQL的查询方式,但是主流来说对于MongoDB的操作往往是通过各个语言相应的API来进行的,所以再编程的时候不能像SQL一样,一种SQL文件到处用.看起来像是一个缺点,但实践中你一般跟数据库连也就用1层而已,而且我觉得一般MongoDB的Driver的API都比较容易理解.
如果光说不用SQL来查询的话似乎没什么,但是不用SQL可以不用在意很多事情,比如用MongoDB的时候是不需要建表的.注意我这里说不需要建表是不用显式地写代码来建表,不需要指定一个表有多少列,每一列是什么样子的.如果之前只接触过MySQL的话可能比较有疑问,着到底怎么用?
先看一下MongoDB的基础,对于MongoDB来说整个数据库分为3层,首先,一个MongoDB的实例中会有N个数据库,这是最大的概念了,和MySQL的数据库的概念是一样的.接下来每一个数据库里面会有N个集合,在看文档的时候的collection就是指它了,如果你把它和MySQL比较的话可能觉得它和表对应,但是要注意为什么MongoDB中不叫Table而是叫Collection,Table是对应着由行有列的表格的,而Collection你可以认为是一个容器(比如垃圾桶),什么样的东西都能装进来.而Table不一样,要进入Table,你就必须把自己的数据弄的跟Table的列是一样的才行.明白这点区别的话其实就很好理解Collection中装的东西了,叫Document,就是文档.文档是基于BSON的,说起BSON估计大家都有疑问是啥,但是提起JSON应该不少人都知道.其实BSON就是固定有"_id"字段的JSON,而且这个"_id"会再算法上保证不会和另一个发生冲突,也就是唯一的.而数据就作为Document里面的字段存在.
MongoDB在Mac上的安装
前面说了一些比较大的概念,不如说些具体的东西,作为原文的补充.首先是安装吧,在mac上安装由于mac有包管理homebrew的存在,安装mongodb变成了一件非常简单的事情,直接在Term里面输入brew install mongodb就可以了(如果你是第一次用brew,需要用brew doctor命令来检查homebrew是否能正常工作)

打开mongodb的方法和windows上一样,输入mongod打开服务器端,运行指令用mongo命令,这里不再赘述了.
一点MongoDB的基础及mongodb在mac上的安装的更多相关文章
- Infer 在 Mac 上的安装和环境配置
Infer 在 Mac 上的安装和环境配置 Infer 介绍 Infer 是一个静态分析工具.Infer 可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使 ...
- Android Studio中mac上面的安装
Android Studio中mac上面的安装 学习了:https://blog.csdn.net/xianrenli38/article/details/79347170 http://www.an ...
- Mac上刚安装的WebStorm或PHPStorm遇到SVN版本太旧的问题
Mac上刚安装的WebStorm或PHPStorm遇到SVN版本太旧的问题: URL: svn: E155021: This client is too old to work with the wo ...
- Mac上Hive安装配置
Mac上Hive安装配置 1.安装 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 之前我配置了集群,tjt01.tjt02.tjt03,这里hive安 ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
- GoWeb_01:GoWeb基础之mac上mysql安装
Mac下的MySql安装与配置 1. 访问MySQL的官网 http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL Community Server”下方有一个 ...
- (转)【Android测试工具】03. ApkTool在Mac上的安装和使用(2.0版本)
http://blog.csdn.net/wirelessqa/article/details/8997168 http://code.google.com/p/android-apktool/dow ...
- redis在mac上的安装
mac 上安装 redis 首先必须保证mac 已经安装 xcode. 因为make时要用到 Xcode 的command Tools . (1)下载 redis http://redis.goo ...
- mac 上如何安装非app store上的下载的软件-------打开未知来源
打开了 Terminal 终端后 ,在命令提示后输入 sudo spctl --master-disable 并按下回车执行,如下图所示. 随后再输入当前 Mac 用户的密码,如下图所示. 如 ...
随机推荐
- js小记 function 的 length 属性
原文:js小记 function 的 length 属性 [1,2,3]., ,这个略懂js的都知道. 但是 eval.length,RegExp.length,"".toStr ...
- 隐藏Console形式无效(继续1)
[2014/10/19 23:57 ] :由port主机遥控. 该程序的执行后,计划自己主动开放之机999port,其他计算机将能够通过999port机器的操作. 程序中使用的到的命令: telne ...
- Java NIO的多路复用及reactor
(from:http://developer.51cto.com/art/201112/306489.htm) 以下描述,为了说明问题,就提提历史(类似的东西,网上一搜一大把,但是希望你能在这里止步, ...
- 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照
近期在开发小组在研究:BS项目中是利用'MVC框架'还是继续沿用'三层'的问题. 由于曾经的.NET项目大多数都是利用三层开发的,所以大多数人都可以对三层进行熟练地运用.而项目的開始我们也曾听说过MV ...
- 伺服驱动器UVW电机电源线相序错误
我们有必要先了解此讨论的前提:编码器初始安装相位正确.伺服驱动器将全然"採信"电机编码器的初始安装相位所表征的电机电角度相位,无需在伺服电机 的UVW动力线接线连接后进行额外 ...
- Linux下tomcat管理查看控制台|杀死tomcat进程
查看控制台 # tail -f catalina.out 脚本执行权限chmod u+x *.sh #看是否已经有tomcat在运行了 ps -ef |grep tomcat #如果有,用kill; ...
- 深入理解JavaScript(1)
才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会 ...
- TDD(测试驱动开发)
TDD(测试驱动开发)培训录 2014年我一直从事在敏捷实践咨询项目,这也是我颇有收获的一年,特别是咨询项目的每一点改变,不管是代码质量的提高,还是自组织团队的建设,都能让我们感到欣慰.涉及人的问题都 ...
- Warning: Cannot modify header information - headers already sent by (output started at
一般来说在header函数前不能输出html内容,类似的还有setcookie() 和 session 函数,这些函数需要在输出流中增加消息头部信息.如果在header()执行之前有echo等语句,当 ...
- Spring IOC 之ApplicationContext的其他功能
正如上面章节所介绍的那样, org.springframework.beans.factory 包提供了管理和操作beans的 基本功能. org.springframework.context包增加 ...