为了使数据库存储的开发与服务器端的nodejs保持一致,尝试Mongodb的驱动也使用JavaScript版,现总结如下:
A.数据库安装与配置:
话说MongoDB的来历,内容来自互联网。
mongo不是芒果(mango),取自“humongous”(海量的)。是一种开源的文档数据库──nosql数据库的一种。
nosql是“not only sql”,而不是“no sql”。nosql的特点:非关系型,分布式,开源,可水平扩展,模式*,支持replication,简单的API,最终一致性。
MongoDB是一种面向集合的,模式*的文档数据库MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。
MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式*的文档型数据库。
MongoDB的安装非常简单,在管网下载:http://www.mongodb.org/downloads
我选择的是Mac OS X(64位)版,找到合适的路径解压即可。然后就可以在终端启动mongodb了,
命令:
./mongod --dbpath ../data/esrichina
需要注意操作权限,以及端口占用(非正常关闭后)
如图所示,表明mongodb启动正常,可以在浏览器端访问:http://127.0.0.1:28017
另外可以在新打开的终端窗口中操作数据库
命令:
./mongo 显示数据库版本,并默认连接到test文件夹下
通过show dbs可以现实当前数据存储情况;
use esrichina可以实现数据库切换
db.users.insert({})实现在esrichina的文件夹下的users集合下插入记录
db.users.find()实现数据查询
更多命令请参考http://www.cnblogs.com/TankMa/archive/2011/06/08/2074947.html
B.JavaScript脚本驱动安装与使用
对于具有nodejs环境的服务器环境来说,js的驱动配置相当简单。
npm install -g mongodb
值得注意的是需要*工具支持,另外相应文件目录权限
npm install还可以安装其他的拓展组件,如express-mongoose mongoose
配置完成后,测试代码非常简单 node app.js
//MongoDB var mongodb = require("mongodb"); var MongoClient = mongodb.MongoClient; var dbCollection; function createConn(onCreate){ MongoClient.connect("mongodb://localhost:27017/esrichina", function(err, db) { if(!err) { console.log("We are connected"); } dbCollection = db.collection(‘users‘); onCreate(); }); } function removeData(data){ dbCollection.remove({"name":"gisxy"},{w:1}, function(err, result){ }); } function insertData(data){ dbCollection.insert(data,{w:1},function (err,inserted) { if(!err) { console.log("insert success!"); } }); dbCollection.find().toArray(function(err, items) { console.log(items); }); }更多JavaScript的mongodb驱动使用请参考官方文档