mongoose的基本操作
Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,通过操作javaScript对象来操作数据库,代码会显得特别清晰。
一丶 npm install mongoose --save
下载Mongoose(其中包括了mongodb,不用重复Require)
二丶官网提供的hello模板
var mongoose = require('mongoose'); //引入mongoose
mongoose.connect('mongodb://localhost/test'); // 连接数据库
var Cat = mongoose.model('Cat', { name: String }); // 创建一个Model模型 也就相当于创建了一个cats表
var kitty = new Cat({ name: 'Zildjian' }); //实例化一个Model模型 ,相当于创建一个Kitty集合
kitty.save(function (err) { //save()方法,保存该对象,也就是向数据库增加;
if (err) {
console.log(err);
} else {
console.log('meow');
}
});
三丶mongoose的具体使用
1,连接数据库
var mongoose = require('mongoose');
//创建数据库连接
var db=mongoose.createConnection('mongodb://127.0.0.1:27017/student');
//监听open事件
db.once('open', function (callback) {
console.log("数据库成功连接");
});
2丶定义模型
//创建了一个schema结构。
var studentSchema = new mongoose.Schema({
name : {type : String},
age : {type : Number},
});
var studentModel = db.model('Student', studentSchema);
3丶增
mongooseModel.create({name:'XiaoMIng',age:'18'}, function(error){
if(error) {
console.log(error);
} else {
console.log('成功添加小明同学信息');
}
// 关闭数据库链接
db.close();
});
4丶删
mongooseModel.remove({name:'XiaoMing'}, function(error){
if(error) {
console.log(error);
} else {
console.log('成功删除小明同学信息');
}
//关闭数据库链接
db.close();
});
5丶改
var conditions = {name: 'XiaoMing'}; var update = {$set : {age : 27}}; var options = {}; mongooseModel.update(conditions, update, options, function(error){ if(error) { console.log(error); } else { console.log('成功修改小明的的年龄'); } //关闭数据库链接 db.close(); });
6丶查
var select = {name: '小明'}; // 查询条件
mongooseModel.find(select,function(error, result){
if(error) {
console.log(error);
} else {
console.log(result);
}
//关闭数据库链接
db.close();
});
四丶自定义静态方法
//自定义一个通过年龄查询学生的方法
mongooseSchema.statics.findFromage = function(age, callback) { this.model('student').find({age: age}, callback); }
//通过年龄查询所有学生信息
student.findFromage('30',function(err,result){ console.log(result) })

浙公网安备 33010602011771号