正文
-
在mongoose里面有3个核心对象,分别是Schema,Model,Document,这三个对象是有先后顺序的,先有Schema再有Model,然后才有Document。
-
Document对象可有可无,Schema和Model才是主要的。
1.首先引入mongoose模块。
import mongoose from 'mongoose';//使用ES6语法引入,替换了require,但需要安装babel转译,而node环境支持require
const { Schema } = mongoose;
2.搭建mongodb环境
mongoose.connect('mongodb://127.0.0.1:27017/mytest', {useNewUrlParser: true, useUnifiedTopology: true});
mongoose.connection.once("open", () => {
console.log(`数据库已连接成功,Server is running at:http://127.0.0.1:27017`)
})
3.Schema(限制模式对象)。
//创建一个Schema对象
const stuSchema = new Schema({
//自定义Schema限制对象
name: String,
age: Number,
//gender: String,//等同于下面这种对象写法,不过下面的这种写法更灵活
gender: {
type: String,
default: "female"//设置默认值
},
address: String
});
小结:创建完Schema对象相当于完成创建了一个数据库。
4.创建Model对象模型。(Model对象相当于数据库中的集合)
-
它依赖Schema来创建Model。
-
Model对象代表的是数据库中的(collection),通过Model才能对数据库进行操作。
-
通过mongoose.model(modelName, schema)方法创建一个Model,第一个参数是modelName,代表的是你要和数据库中映射的集合名(默认是复数形式),第二个参数schema代表的是你刚刚创建的schema对象名。
const stuModel = mongoose.model('student', stuSchema);
模型创建完成后,就差最后一个Document对象操作了,我们接下来就需要借助模型来创建文档了。
5.创建Document文档对象。
方法:Model.create(doucment,callback)
回调函数写完后,然后填充我们的文档对象即可。