一点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 用户的密码,如下图所示. 如 ...
随机推荐
- bootstrap collapse MVC .net漂亮的折叠List
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...
- PL/SQL联系oracle成功可以sql解决的办法是检查表的名称无法显示
有时,因为机器突然断电或其他原因PL/SQL它甚至不能在数据库表后显示.序列和其它元素.使用SQL Windows运行查询一般查询,登录或同样的现象再次. 我是不是可以解决因重复登录的猜测是,PLSQ ...
- ArcGIS Runtime SDKs v10.2.4最新(Android、iOS、OSX和.NET)
ArcGIS Runtime SDKs v10.2.4最新,它包含:Android.iOS.OS X和.NET四大平台,用户和开发人员可以登录Esri最新的SDK安装包.或者通过云盘下载(http:/ ...
- C语言库函数大全及应用实例一
原文:C语言库函数大全及应用实例一 [编程资料]C语言库函数大全及应用实例一 函数名: abort 功 能: 异常终止一个进程 用 法: ...
- SQL点滴6—“微软不认识闰年2月29日”&字符"N"的作用
原文:SQL点滴6-"微软不认识闰年2月29日"&字符"N"的作用 http://www.cnbeta.com/articles/50580.htm这个 ...
- Retrofit相关资料
高速Android开发系列网络篇之Retrofithttp://www.w3c.com.cn/%E5%BF%AB%E9%80%9Fandroid%E5%BC%80%E5%8F%91%E7%B3%BB% ...
- leetcode[159] Longest Substring with At Most Two Distinct Characters
找到最多含有两个不同字符的子串的最长长度.例如:eoeabc,最长的是eoe为3,其他都为2. 思路: 用p1,p2表示两种字符串的最后一个出现的下标位置.初始p1为0. p2为-1.start初始化 ...
- 【Android中Broadcast Receiver组件具体解释
】
BroadcastReceiver(广播接收器)是Android中的四大组件之中的一个. 以下是Android Doc中关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播 ...
- Object.prototype.propertyIsEnumerable
语法: obj.propertyIsEnumerable(prop); 此方法返回一个布尔值,表明指定的属性名是否是当前对象可枚举的自身属性. 1.如果是用户自定义了对象的属性,将返回true,比如 ...
- Toad for Oracle的安装
分享一下Oracle 10gToad for Oracle的安装步骤 三年前用过Oracle,单纯的“用过”,主要就是说对数据库的一些操作,还不包含创建一些存储过程之类的,所以对Oracle仅仅只 ...