最近发现维持写博客的习惯还是挺困难的,尤其对我来说,计划好的事过了好长时间才想到要去做.

这段时间一直在熟悉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命令,这里不再赘述了.

最新文章

  1. 遍历hashMap的两种方式
  2. pig的各种运行模式与运行方式详解
  3. AS错误:Please configure your build for VectorDrawableCompat.
  4. NSDictionary 的有序性 (by the key in some rule)
  5. iOS使用Workspace来管理多项目
  6. VTK 6 和 VTK 5 的不同
  7. expdp.sh and impdp.sh
  8. mysql的常用引擎
  9. 成功案例分享:raid5两块硬盘掉线数据丢失恢复方法
  10. 线程基础(CLR via C#)
  11. java中求质数(素数)的问题
  12. SpringBoot+Mybatis实现关联查询
  13. Excel清除无用数据行和数据列
  14. 【转】Cron表达式详解
  15. 解题(StringJiaMi--字符串加密)
  16. 汇编 fsub ,fmul,fdiv,fild,CVTTPS2PI 指令
  17. python3 scrapy 安装记录
  18. 【Git 使用笔记】第二部分:基本命令 和 单分支开发
  19. Oracle环境变量设置脚本
  20. 中点Brehensam画线算法

热门文章

  1. 超酷的jQuery百叶窗图片滑块实现教程
  2. mongodb操作:利用javaScript封装db.collection.find()后可调用函数源码解读
  3. dom02
  4. 使用 COM 风格的编程接口
  5. thinkphp 支付宝错误 Class 'Think' not found
  6. 快速构建Windows 8风格应用22-MessageDialog
  7. Gimp插件Hello world注释
  8. [代码收藏]设为首页和加入收藏的JavaScript代码(兼容多浏览器)
  9. css3中webkit-box的用法(平分父元素)
  10. apache 提示You don't have permission to access /test.php on this server.怎样解决