MongoDB(http://www.mongodb.org)是一个开源的文档型NoSQL数据库,使用C++语言编写,主要有如下特性:

  • 面向JSON格式文档存储
  • 完整的索引支持
  • 复制和高有效性
  • 自动横向扩展
  • 丰富的查询方式
  • 快速的原子更新操作
  • Map/Reduce
  • GridFS:不用担心文件存储的增长了

MongoDB应用:GPS位置信息,,,等,本人还没在其他地方应用还不知道,呵呵。

安装MongoDB

官方有很详细的说明:http://docs.mongodb.org/manual/installation/

Ubuntu

$ sudo apt-get install mongodb

Ubuntu中会被安装一个自启动服务mongodb

$ sudo /etc/init.d/mongodb start

Mac OS X

$ sudo port install mongodb

Mac OS X 安装完成后,使用mongod来启动

$ mongod &

MongoDB默认占用两个端口:27017(服务端口)和28017(使用浏览器打开http://127.0.0.1:28017,它提供MongoDB的运行状态的查询)

使用MongoDB

Mongo中以数据库->Collection方式组织数据。Collection是一个文档集合,相当于SQL中的表。Mongo中的数据库无需事先建立,当针对Collection插入数据时,会自动建立数据库和Collection。

Mongo客户端工具

客户端工具默认链接test库。 Ubuntu

$ mongo
MongoDB shell version: 2.4.4
connecting to: test
> 

Mac OS X

$ mongo
MongoDB shell version: 2.4.4
connecting to: test
> 

MongoDB基本操作

获取帮助

> help

查看数据库

> show dbs

切换当前数据库

use mydbname

插入数据到Collection:如果不存在会自动建立DB和Collection,下面语句中的locations是一个Collection用于存放位置信息。

> db.locations.insert({tm_id:"862118021471732",lon_direct:"E",lon:108.895,lat_direct:"N",lat:34.241, speed:0.589, date:new Date("2013-09-26 12:12:05.002")})

统计和查找

查询Collection中的文档总数

> db.locations.count()

查询Collection中的文档

> db.locations.find()

查询Collection并排序:按照日期倒序,-1表示倒序,1表示顺序

> db.locations.find().sort({date:-1})

根据条件查找,并排序

> db.numbervalues.find({type:3033}).sort({number:-1}).limit(5)

删除记录

删除所有记录

> db.password.remove({})

删除指定记录

> db.locations.remove({date:{$gt:ISODate("2015-06-03T12:28:34Z")}})
> db.locations.remove({dev_id:"000003013043210009", date:{$gt:new Date()}})

管理MongoDB

使用MongoDB进行应用开发

MongoDB支持大部分流行的开发语言。

MongoDB和Java

  • 文档

Java Language Center http://docs.mongodb.org/ecosystem/drivers/java/

  • 驱动和开发库

Mongo Java Driver:已经放到Maven库中了,http://central.maven.org/maven2/org/mongodb/mongo-java-driver/

MongoDB和Python

  • 文档

Python Language Center http://docs.mongodb.org/ecosystem/drivers/python/

  • 驱动和开发库

PyMongo:Python的Mongo驱动库,https://pypi.python.org/pypi/pymongo/

MongoEngine:Python下用于MongoDB的ORM开发库,http://mongoengine.org

[ 编辑 | 历史 ]
最近由“jilili”在“2015-10-12 12:19:08”修改