NodeJs09

2017-07-23  本文已影响0人  社会你码ge

1. mongoose

1.1 是一个将JavaScript对象与数据库产生关系的一个框架,object related model。操作对象,就是操作数据库了

1.2 在用nodejs 操作数据库过程中没有一个语句是明显的操作数据库 ,感觉都在创建类、实例化类、调用类的方法。都在操作对象,

但是数据库同步操作了

1.3 mongoose的思想就是用操作对象的方法来操作数据库。

2 mongoose的基本使用方法

2.1 引入mongoose模块,不需要引入mongodb这个模块

# var mongoose = require("mongoose");

2.2 连接数据库

# mongoose.connect("mongodb://localhost:27017/xds");

# xds 表示数据库名字

2.3 创建模型 可以简单理解为类,构造函数

# var user = mongoose.model("people",{"name":String})

# 第一个参数people 根据此参数来自动创建一个集合名peoples

# 第二个参数为文档的数据数据结构

2.4 实例化一个对象

# var user1 = new People({"name":"laownag"});

3. mongoose 提供两类方法来操做crud,curd为Create、Read、Update、Delete操作的总称

方法一:实例方法(只有两种)

save() 插入数据

创建实例后在进行插入

remove() 删除一条数据  # 要先找到数据在进行删除

方法二:静态模型方法

静态模型.create("文档对象",callback(err,实例文档对象))

注意:

1. Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力

2. Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对

3. createConnection() 创建多数据库进行连接

4. mongoose 提供了两个接口来给实例对象和静态模型添加方法来操作数据库

4.1 添加 mongoose 实例方法

eg: mongooseSchema.methods.findbyusername = function(username, callback) {

this.model('mongoose').find({username: username}, callback);

}

# this指实例对象

# mongoose 为对应的集合名称

4.2 添加 mongoose 静态方法,静态方法在Model层就能使用

eg: mongooseSchema.statics.findbytitle = function(title, callback) {

this.model('mongoose').find({title: title}, callback);

}

上一篇 下一篇

猜你喜欢

热点阅读