Mongodb学习笔记(一):基本概念

老早就想系统地学一下mongodb,结果一直拖到现在,终于开始看《MongoDB权威指南中文版》,今天才看了第二章,稍微记一下。

几个重要的概念

  • 文档 (相当于row),类似json的键值对,区分类型和大小写(不一样的类型或大小写算不同的文档),不能有重复键
  • 集合 (相当于没有schema的表),命名规则(4个不能)
  • 子集合 (命名空间的概念)
  • 数据库 (命名规则)

使用mongodb shell

由于使用ubuntu安装的mongodb,安装好之后mongodb的服务默认是启动了的(手动安装的得执行 ./mongod 来启动service,查看服务是否开启: localhost:28017),打开mongodb shell直接敲 mongo 即可。

mongodb shell是一个JavaScript shell,由于js中只有64位浮点数,因此在用mongodb shell处理数字相关的文档时候要注意。 一般操作(CRUD)

  • db.blog.insert(doc)
  • db.blog.find() / db.blog.findOne()
  • db.blog.update({title : ‘aaa’}, newDoc)
  • db.blog.remove({title : ‘aaa’})

忘记命令可以使用 help 来查看

数据类型

mongodb的文档类似json,但是json仅包含6中数据类型(null, bool, number, string, array, object),没有日期类型,只有一种数字类型,无法区分整型和浮点数。 mongodb支持的数据结构:

  • null
  • bool
  • 32 int
  • 64 int
  • double
  • string
  • 符号
  • ObjectId
  • Date
  • 正则表达式
  • 代码(function)
  • 二进制数据
  • MAX
  • MIN
  • array
  • 内嵌文档

重点看: 数字,日期,数组,内嵌文档,ObjectId


2014-09-06 update: ubuntu下的安装,直接使用压缩包的方式,解压到 /opt/mongodb,然后新建 /data/db 并赋予读写权限,最后在 ~.bashrc 里面添加 path。