一点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 用户的密码,如下图所示. 如 ...
随机推荐
- ThinkPHP 3.2 开放 cache注缓存,过滤非法字符
打开缓存配置文件 /Application/Common/conf/cache.php源代码如下面: <?php return array( //'配置项'=>'配置值' 'LAYOUT_ ...
- 【百度地图API】自定义可编辑的交通路线
原文:[百度地图API]自定义可编辑的交通路线 任务描述: 我想自己绘制一条从地铁站出口到天安门的道路,而且还需要根据我的喜好来改变这条路线. 如何实现: 鼠标左击地图,绘制路线:双击后,绘制结束:绘 ...
- Delta3D 2.8版本号 预习
http://blog.csdn.net/zhuyingqingfen/article/details/38581453 看到官网今天的更新.发现即将公布的delta3d 2.8 版本号 做了非常大的 ...
- Windows socket之最简单的socket程序
原文:Windows socket之最简单的socket程序 最简单的服务器的socket程序流程如下(面向连接的TCP连接 ): 1. WSAStartup(); 初始化网络库的使用. 2. soc ...
- C#备份还原MySql数据库
原文:C#备份还原MySql数据库 项目结束,粘点代码出来让Google或Baidu一下,原因是现在还搜不到这么现成的 调用MySql的工具mysqldump来实现. 类Cmd来实现调用cmd命令, ...
- Java 多线程之内存一致性错误
当不同的线程针对相同的数据却读到了不同的值时就发生了内存一致性错误.内存一致性错误的原因是非常复杂的.幸运的是我们程序员不需要详细的理解这些原因,我们需要做的事情就是使用策略来规避这些. 避免内存一致 ...
- 关于Java String对象创建的几点疑问
我们通过JDK源码会知道String实质是字符数组,而且是不可被继承(final)和具有不可变性(immutable).可以如果想要了解String的创建我们需要先了解下JVM的内存结构. 1.JVM ...
- leetcod Pow(x, n)
题目:就是实现一个指数函数. 直接用一个while一直乘以n词肯定是会超时的. 自己写了用递归(而且是很挫的递归),测试了无数次,根据每个case去修改代码.终于可以AC了.不忍直视,自己写了好长,如 ...
- 专业MySQL数据库管理专家SQL Manager for MySQL发布5.4版本
SQL Manager for MySQL是一款针对MySQL数据库服务器系统的管理工具.深受数据库管理员的喜欢,其富有艺术感的图形用户界面,即使新手也可以不会为如何使用而感到困扰.近日EMSSoft ...
- ReviewBoard安装和配置说明
眼下部门还没有採用Pair Programming那种时时刻刻都在review代码的工作方式,代码Review多採用走查方式.即代码写完后召开一个Code Review的Meeting,集中时间和经验 ...