Mongoose 5.0 中文文档:http://mongoosejs.net/docs/models.html
目录:给MongoDB数据库配置对象模型工具mongoose
- 1. 进入项目
- 2. 给项目安装mongoose
- 3. 给数据库写配置文件,在项目中创建一个文件`dbs`,把配置文件`config.js`放到该文件下
- 4. 在刚刚创建的文件`dbs`下新建一个文件`models`
- 5. 新建一个数据库
- 6. 解释一下目录`models`下的文件怎么命名:
- 7. 在服务器中做数据库真实的连接
- 7.1 回到项目`app.js`,引入`mongoose`
- 7.2 引入配置文件
- 7.3 koa2服务和数据库连接
- 8. 结尾
1. 进入项目
2. 给项目安装mongoose
npm i mongoose
3. 给数据库写配置文件,在项目中创建一个文件dbs
,把配置文件config.js
放到该文件下
因为没有bable,所以我们使用module.exports = { }
config.js
“:
module.exports = {
dbs: 'mongodb://127.0.0.1:27017/dbs'
}
配置文件的意思是我们启动的mongodb服务是27017,我们在这个数据库下面新创建了一个数据库,数据库名称叫dbs,冒号前面的dbs就是我们起的这个配置的字段。
4. 在刚刚创建的文件dbs
下新建一个文件models
5. 新建一个数据库
比如我们在目录models
下创建一个person
这个类型,就是想存一个数据,和人相关的数据类型。我们现在要做Schema
和model
的事情。
Models 是从 Schema 编译来的构造函数。 它们的实例就代表着可以从数据库保存和读取的 documents。 从数据库创建和读取 document 的所有操作都是通过 model 进行的 。
// 1.引入mongoose
const mongoose = require('mongoose')
// 2.建一个Schema
let personSchema = new mongoose.Schema({
name: String,
age: Number
/*
以上对应了数据表中的两个字段,
一个姓名name,数据类型是String,
一个年龄age,数据类型是Number.
这样就是一个Scheme
*/
})
// 3.由Schema生成一个model
module.exports = mongoose.model('Person', personSchema)
这样的话,我们就把这个数据库对应的这个数据表的描述由Schema描述了这个表,然后模型和Schema做了关联,导出。
6. 解释一下目录models
下的文件怎么命名:
我们可以发现,上一步写的Schema只描述了数据表内部的事情,那这个数据表叫什么名字呢?我们并没有声明。其实数据表名就是我们刚才在models
下建的文件名,即person
。
所以我们models
下的文件不要随便命名。
7. 在服务器中做数据库真实的连接
7.1 回到项目app.js
,引入mongoose
const mongoose = require('mongoose')
7.2 引入配置文件
const dbConfig = require('./dbs/config')
7.3 koa2服务和数据库连接
mongoose.connect(dbConfig.dbs, {
useNewUrlParser: true
})
我们这里的dbConfig就是之前写的配置文件,dbConfig.dbs
就是用了配置文件里的一个值(mongodb://127.0.0.1:27017/dbs
)。
重启服务,如果没有报错就说明数据库连接成功。
注意:
数据库中没有数据的时候默认是不显示的。
可以看到数据库中并没有我们新建的person表。我们可以写一些接口,通过接口来对数据库进行操作。
8. 结尾