7.Nodejs入门-----Mongoose
2017-01-08 22:25
423 查看
Mongoose
是一个将JavaScript对象与数据库产生关系的一个框架,object relatedmodel。操作对象,就是操作数据库了;对象产生了,同时也持久化了。这个思路是Java三大框架SSH中Hibernate框架的思路。彻底改变了人们使用数据库的方式。
http://mongoosejs.com/
mongoose就是:
官网上的hello world:
1 //引包,并不需要引用mongodb这个包 2 var mongoose = require('mongoose'); 3 //链接数据库,haha是数据库名字 4 mongoose.connect('mongodb://localhost/haha'); 5 6 //创建了一个模型。猫的模型。所有的猫,都有名字,是字符串。“类”。 7 var Cat = mongoose.model('Cat', { name: String }); 8 //实例化一只猫 9 var kitty = new Cat({ name: 'Zildjian' }); 10 //调用这只猫的save方法,保存这只猫 11 kitty.save(function (err) { 12 console.log('喵喵喵'); 13 }); 14 15 var tom = new Cat({"name":"汤姆"}); 16 tom.save(function(){ 17 console.log('喵喵喵'); 18 }); |
mongoose的哲学,就是让你用操作对象的方式操作数据库。
创建一个模型
1 mongoose.model("Cat",{"name" : String , "age" : Integer}); |
1 var kitty = new Cat({ name: 'Zildjian' }); |
中文博客: https://cnodejs.org/topic/51ff720b44e76d216afe34d9
mongoose首先要想明白一件事儿,所有的操作都不是对数据库进行的。所有的操作都是对类、实例进行的。但是数据库的持久化自动完成了。
数据库连接
公式:1 var mongoose = require('mongoose'); 2 //创建数据库连接 3 var db = mongoose.createCon 4000 nection('mongodb://127.0.0.1:27017/haha'); 4 //监听open事件 5 db.once('open', function (callback) { 6 console.log("数据库成功连接"); 7 }); |
定义模型
创造schema → 定义一些schema的静态方法 → 创造模型创造schema用什么语句? new mongoose.schema({});
创造模型用什么语句? db.model(“Student”,schema名字);
//创建了一个schema结构。 var studentSchema = new mongoose.Schema({ name : {type : String}, age : {type : Number}, sex : {type : String} }); //创建静态方法 studentSchema.statics.zhaoren = function(name, callback) { this.model('Student').find({name: name}, callback); //this.model('Student')指的是当前这个类 }; //创建修改的静态方法 studentSchema.statics.xiugai = function(conditions,update,options,callback){ this.model("Student").update(conditions, update, options, callback); } //创建了一个模型,就是学生模型,就是学生类。 //类是基于schema创建的。 var studentModel = db.model('Student', studentSchema); |
解释一下,什么是静态方法,什么是类方法:
1 //类 2 function Student(){ 3 4 } 5 6 //实例化一个学生 7 var xiaoming = new Student(); 8 //实例方法,因为这个sleep方法的执行者是类的实例 9 xiaoming.sleep(); 10 11 12 //静态方法(类方法),这个方法的执行者是这个类,不是这个类的实例。 13 Student.findAllBuJiGe(); |
前台界面:不操作数据库,只操作类!
相关文章推荐
- nodejs中使用mongoose ( mongoose入门 )
- Nodejs学习笔记— Mongoose介绍和入门
- nodejs 学习(4) express+mongoose
- Nodejs入门学习,nodejs web开发入门,npm、express、socket配置安装、nodejs聊天室开发
- NodeJs初学者经典入门解析
- NodeJS前端开发日记(2)AngularJS+Jade入门实战
- Node初学者入门,一本全面的NodeJS教程(转)
- NodeJS测试框架mocha入门教程
- EntityFramework_MVC4中EF5 新手入门教程之七 ---7.通过 Entity Framework 处理并发
- nodeJS 菜鸟入门
- nodejs中mongoose库的使用
- Nodejs入门开发
- nodejs环境 + 入门 + 博客搭建
- Electron-Nodejs-Addon入门
- Nodejs入门【转载】保留备用
- NodeJS入门(一)---nodejs详细安装步骤
- nodejs入门(08)-全局对象
- Nodejs学习笔记(十四)— Mongoose介绍和入门
- nodejs入门之基础HTTP请求
- nodeJS入门例子一—全局对象