用户工具

站点工具


分享:技术:mongodb:mongodb的介绍

这是本文档旧的修订版!


mongodb的介绍

MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB使用C++开发。MongoDB的官方网站地址是:http://www.mongodb.org/

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。

数据数

数据库是一个集合的物理容器。每个数据库获取其自己设定在文件系统上的文件。一个单一的MongoDB服务器通常有多个数据库。

集合

集合是一组MongoDB的文件。它与一个RDBMS表是等效的。一个集合存在于数据库中。集合不强制执行模式。集合中的文档可以有不同的字段。通常情况下,在一个集合中的所有文件都是类似或相关目的。

文档

文档是一组键值对。文档具有动态模式。动态模式是指,在同一个集合的文件不必具有相同一组集合的文档字段或结构,并且相同的字段可以保持不同类型的数据。

mongodb的安装

在Ubuntu14.04上安装

sudo apt-get install mongodb

安装好后主要的目录和文件如下:

/etc/mongodb.conf #配置文件
/var/lib/mongodb #数据文件存放目录
/var/log/mongodb/mongodb.log #日志文件

查看mongodb版本

gxx@iZ23goxo66aZ:/var/lib/mongodb$ mongod -version
db version v2.4.9
Sun Jul 26 09:50:41.115 git version: nogitversion
gxx@iZ23goxo66aZ:/var/lib/mongodb$ mongo -version
MongoDB shell version: 2.4.9

mongodb默认端口是27017,web控台访问端口28017,注意:要对外开发这两个端口,必须注释掉/etc/mongodb.conf中的这行#bind_ip = 127.0.0.1,防止mongodb只监听本地的请求。

如果mongodb启动失败,可以尝试删除/var/lib/mongodb/mongod.lock

mongodb的命令

gxx@iZ23goxo66aZ:~$ mongo #进入mongodb
MongoDB shell version: 2.4.9 #当前版本
connecting to: test #默认进入test数据库
> use test #切换数据库,如果test不存在会创建该数据库
switched to db test
> show dbs #查看所有的数据库,新创建的test数据库不会显示在列表中,除非有第一个文档被插入
admin   (empty)
local   0.078125GB
> db #查看当前数据库
test
> db.people.insert({"name":"关向辉"}) #插入文档,即使people集合不存在,插入执行前会自动创建集合people
> show dbs #查看所有的数据库,看到test数据库
admin   (empty)
local   0.078125GB
test    0.203125GB
> db.people.find() #查询people集合里所有的文档,看到文档会自动被mongodb分配一个_id唯一标示
{ "_id" : ObjectId("55b45548b327ebd637aa4516"), "name" : "关向辉" }
> db.dropDatabase() #删除数据库
{ "dropped" : "test", "ok" : 1 }
> show dbs #查看所有的数据库
admin   (empty)
local   0.078125GB
> 
分享/技术/mongodb/mongodb的介绍.1437882070.txt.gz · 最后更改: 2015/07/26 11:41 由 gxx