前提: 链接
var mongoose = require('mongoose')
var db = mongoose.connect('mongodb://127.0.0.1:27017/person') //链接的ip地址
db.connection.on('error', (err) => {
console.log('数据库连接失败'+err)
})
db.connection.on('open', () => {
console.log('数据库连接成功')
})
一.Schema(数据属性模型)
数据库模型骨架,相当于传统的表结构,规定文档的字段结构
//定义schema
var PersonSchema = new mongoose.Schema({
name : {type: String},
age : {type: Number, default:0},
time : {type: Date, default: Date.now()},
email: {type:String, default:''}
})
//基本数据类型有:String, Date, Number,boolean, null, Array等
二.model
由Schema构造生成的模型,具有操作数据库的能力,类似传统数据库属性,行为的类
通过Schema创建model;
db.model('[collection_name]', [collection_Schema]):
- collection_name:集合的名称,没有则会创建并保存,在mongodb中会更新collection_name的名字自动生成相匹配的集合名称,比如会加上s或者其他相近的集合名;
- collection_Schema: 之前定义的集合的schema数据结构对象
var PersonModel = db.model('student', PersonSchema)
三.创建entity实体
由Model创建的实体,相当于一个具体的文档,可用save()来保存数据;
//创建entity实体 参数就是schema定义的字段
var personEntity = new PersonModel({
name: 'qiansimin',
age: 12,
email: '348867341@qq.com'
})
//保存
personEntity.save((err, doc) => {
if(err) {
console.log('error'+err)
}else {
console.log(doc)
}
})
四.查询等操作
http://school.zhufengpeixun.cn/course/46/learn#lesson/431, 查询都是通过模型model来查询的哦