1,安装mongodb
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/10gen.list
sudo apt-get update
sudo apt-get install mongodb-10gen
2,启动mongodb
mongod
3,进入与测试mongodb
mongo
>var data = {'name':'test','pwd':'123adb'};
>db.test.insert(data); //插入测试
>db.test.find(); //查询测试 可以看到刚刚插入语句
4,express 项目下 修改package.json 并安装依赖
cd 进入项目路径
"dependencies": {
"express": "3.4.4", "jade": "*", "mongodb": "*", "monk": "*"}dependencies里添加 mongodb:* 和 monk:*
npm install
5,在/routes控制器文件里测试mongodb
var express = require('express');
var router = express.Router();
var mongo = require('mongodb');//引用mongodb模块
var monk = require('monk');//链接数据库模块
var db= monk('localhost:27017/test');//实例化链接数据库
router.get('/', function(req, res, next) {
var collection = db.get('user');
collection.find({},{},function(e, docs){
//无条件查询res.render('userlist',{ //这里是使用了jade 也可以直接res.send(docs); 输出数据(数据是JSON格式)
"userlist":docs
});
});
});
module.exports = router;
6,nodejs mongodb相关操作
collection.find({'name':'test'},{fields:{name":1,,"pwd":0}},function(e,doc){ }); //第一个{}里是查询条件 第二个fields是返回字段 1返回 0不返回 还有其他 skip limit 分页功能 排序 功能等
collection.update({'name':'test',{$set:{sex:"男"}},{upsert:true},function(e,doc){}); //更新 第一个{}条件 第二个更新内容
第三个 upsert:true 当更新记录不存在时新建记录
第二个 除了$set 还有 $inc{数字加减} $pull(删除 删除字段下数组内某一记录) $push(添加 字段数组后添加数据)等
第三个 还有设置 只更新一列 等属性
doc 返回修改列数
待续。。。