mongoose是node.js的一個操做mongodb的模塊,比起以前mongodb模塊,只須要在開始時鏈接,不須要手動關閉,十分方便。javascript
首先你須要安裝mongodb。
有了mongodb,你須要引入mongoose模塊。html
require('mongoose');
而後取鏈接mongodbjava
mongoose.connect('mongodb://localhost/myapp');//location是數據庫地址,myapp爲db名字 //mongoose.connect('mongodb://username:password@host:port/database?options...');
要定義model首先須要定義一個schema.node
var schema = new mongoose.Schema({ name: String, age: Number }); //定義model var personModel = mongoose.model('person', schema);//person爲collection名
model適合簡單查詢,保存,修改和刪除。
保存一條新數據:mongodb
var saveobj = new persionModel({name:'小明',age:15}); saveobj.save(function(err){ if(err){ console.log('save error') }else{ console.log('save successs'); } });
查詢記錄數據庫
var query_doc = {age:15};//查詢條件 persionModel.find(query_doc,function(err,data){ if(err){ console.log('query error'); }else{ console.log(data);//此時查詢結構爲一個數組 } });
查詢一條記錄api
var query_doc = {age:15}; personModel.findOne(query_doc,function(err,data){ if(err){ console.log('query one error'); }else{ console.log(data);//此時爲一個結果對象 } });
修改一條數據數組
var update_where = {name:'李四'};//更新條件 var update_data = {age:14};//更新數據 personModel.update(update_where,{$set:update_data},function(err){ if(err){ console.log('update error'); }else{ console.log('update success'); } });
刪除一條數據app
var del_where = {name:'小明'};//刪除條件 personModel.remove(del_where,function(err){ if(err){ console.log('delete error'); }else{ console.log('delete success'); } });
query適合複雜的查詢。
首先獲取一個query:mongoose
var query = personModel.find({});//當不帶回調時會返回一個query對象 query .skip(10)//跳過十行記錄 .limit(10)//查詢十行記錄 .sort({_id:-1})//按id逆序排列 .where('age').gt(17).lt(66)//age字段大於17小於66 .exec(function(err,data){ //回調函數,do some thing });
簡單的mongoose操做mongodb就這麼多啦,更多內容能夠查看手冊。http://www.nodeclass.com/api/mongoose.html