日期:2014-05-16  浏览次数:20579 次

node.js学习日志—— Mongodb

介绍:
在了解Mongodb之前一直以为Mongodb是芒果数据库,其实芒果的英文是:Mango,两者好像没有关系。
Mongodb是nosql家族中的重要一员,它是文档型数据库,说白了就是mysql的行 = Mongodb的文档。不同于mysql行的字段,Mongodb的文档键非常灵活,不用事先定义也不会固定不变,当然键也不必定义什么“inter型,varchar型”等等。而且Mongodb设计初衷就是让用户易于使用,分布式,切片等等一些功能只需使用缺省自动设置就能满足大部分用户的需求了。
可以说从易用性来讲Mongodb要远远的方便与传统关系型数据库。

性能测试:
从性能上来说呢?有网友经过测试,我们直接拿他的测试结果来看把:
原文地址:http://www.cnblogs.com/inrie/archive/2011/02/22/1961415.html
在100W数据和1000W数据插入和查询时,Mongodb的效率分别都是mysql的4倍和2倍。
而且Mongodb是从2008年就开始发展起来的,至今也有3个年头了,其稳定性也经过时间的考验。
所以对于这样一个效率高,门槛低,稳定性好的数据库我们没有理由说不。

安装和启动流程:
1、安装Mongodb非常容易,不需要编译,直接去官网下载对应操作系统的版本
官网地址:http://www.mongodb.org/
2、下载好以后在指定目录解压缩:tar ?–zxvf ?(tar包名字) ? ?//在本目录下解压了
3、进入Mongodb安装目录,在bin文件夹中,输入./mongod +参数(具体参数可以详见手册) ,这样就可以启动Mongodb数据库了

node.js的Mongodb插件:node-mongodb-native
是不是很简单,然后我们利用node.js的node-mongodb-native插件来操作Mongodb数据库。
插件下载地址:https://github.com/christkv/node-mongodb-native
官方使用API说明:https://github.com/christkv/node-mongodb-native/tree/master/docs
这个API写的很详细相当好,分以下几段:
Database :数据库
Collections : 集合
Querying documents :查询文档
Inserting/updating documents :插入、更新文档
GridStore :GridFS文件存储
Indexes :索引
Replicasets :分布式管理副本集
官方示例提供的expample我个人觉得不大好,我们重新写一个:
var mongodb = require("mongodb"), ??
? ? mongoserver = new mongodb.Server("127.0.0.1", 27017,{}), //连接Mongodb
? ? db_connector = new mongodb.Db('test', mongoserver, {}); ?//这里如果test数据库不存在则创建它,如果存在则连上它
注意:在