一点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 用户的密码,如下图所示. 如 ...
随机推荐
- Reactive Extensions(Rx)并发浅析
Reactive Extensions(Rx)并发浅析 iSun Design & Code .Net并行编程 - Reactive Extensions(Rx)并发浅析 关于Reactive ...
- 跟着大神重写的KNN 文档归类小工具
·背景 在知道KNN之前,楼主有时候会粗糙地做一些分类模型的计算.在拜读了Orisun大神[http://www.cnblogs.com/zhangchaoyang/articles/2162393. ...
- [Attila GPU] ATTILA GPU Streamer Unit (D3D Input Assambler) 结构分析
http://www.opengpu.org/forum.php?mod=viewthread&tid=40&highlight=Attila 查看: 7488|回复: 26 [ ...
- asp.net JSON(一)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- ASP.NET MVC中对Model进行分步验证的解决方法
原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
- tomcat的webapps文件夹下放更新后的项目就訪问不了
昨天给同事更新完程序,同事说更新后的程序訪问不了.它曾经的程序叫tj52,更新后的程序叫webapp.也就是tomcat的文件夹有两个文件架,一个叫webapp,一个叫tj52.最后另外一同事给了解决 ...
- mysql分表分库
单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数 ...
- Springmvc 配置json输出的几种方式
Spring MVC 3.0 返回JSON数据的几种方法: 1. 直接 PrintWriter 输出 2. 使用 JSP 视图 3. 使用Spring内置的支持 // Spring MVC 配置 &l ...
- C#函数式编程-高阶函数
随笔分类 -函数式编程 C#函数式编程之标准高阶函数 2015-01-27 09:20 by y-z-f, 344 阅读, 收藏, 编辑 何为高阶函数 大家可能对这个名词并不熟悉,但是这个名词所表达的 ...
- EXCEL导入GridView,然后再汇入数据库.
原文:EXCEL导入GridView,然后再汇入数据库. 近日项目中有一个多笔料号要输入,我做了一个用javascript复制输入框的功能,可以输入多笔料号. 但是使用者反馈,料号太多,可能几百个料号 ...