mongoose学习笔记
mongoose
在写node web-service的时候不可避免的要操作数据库,mongoose可以方便的在node.js中读写MongoDB。
如何使用
-
安装mongoose:
npm install mongoose
-
引用mongoose:
var mongoose = require("mongoose");
-
使用”mongoose”连接数据库:
var db = mongoose.connect("mongodb://user:pass@localhost:port/database");
-
执行下面代码检查默认数据库test,是否可以正常连接成功?
var mongoose = require("mongoose"); var db = mongoose.connect("mongodb://127.0.0.1:27017/test"); db.connection.on("error", function (error) { console.log("数据库连接失败:" + error); }); db.connection.on("open", function () { console.log("------数据库连接成功!------"); });
增
-
创建一个文档数据结构Schema:
var mainSchema = new mongoose.Schema({ money : { type:String }, type : { type:Number, default:0 }, time : { type:Date, default:Date.now } });
基本属性类型有:字符串、日期型、数值型、布尔型(Boolean)、null、数组、内嵌文档等。
-
创建集合:
var mainModel = db.model("money", mainSchema);
-
创建Entity实体
var montyRecord = new mainModel({ money:"100", type:"1" });
-
保存一条记录
montyRecord.save(function(error,doc){ if(error){ console.log("error :" + error); }else{ console.log(doc); } });
-
也可以直接这样保存
montyRecord.create({ money:"100", type:"1" },function(error,doc){ console.log(doc); });
删
函数原型:
obj.remove(查询条件,callback);
实例:
var conditions = { name: 'tom' };
TestModel.remove(conditions, function(error){
if(error) {
console.log(error);
} else {
console.log('Delete success!');
}
});
改
函数原型:
obj.update(查询条件,更新对象,callback);
实例:
var conditions = {name : 'test_update'};
var update = {$set : { age : 16 }};
TestModel.update(conditions, update, function(error){
if(error) {
console.log(error);
} else {
console.log('Update success!');
}
});
查
查询函数原型
obj.find(查询条件,callback);
实例:
Model.find({},function(error,docs){
//若没有向find传递参数,默认的是显示所有文档
});
Model.find({ "age": 28 }, function (error, docs) {
if(error){
console.log("error :" + error);
}else{
console.log(docs); //docs: age为28的所有文档
}
});