关于Mongodb的命名问题
来源:4-2 mongoose(2)

wykun
2018-10-30
老师.我发现您在讲课时所讲的一个问题.
文件名并不意味着设置就会将Mongodb的数据表设置,它是和model有关系的
测试如下:
1.首先定义一个test.js文件
dbs/models/test.js
const mongoose = require('mongoose')
// schema就是相当于建表
let testSchema = new mongoose.Schema({
name: String,
age: Number
})
module.exports = mongoose.model('testtttt', testSchema)
- 引入model
routes/users.js
const Test = require('../dbs/models/test')
// add test
router.post('/addTest', async function(ctx) {
const person = new Test({
name: ctx.request.body.name,
age: ctx.request.body.age
})
let code
try {
await person.save()
code = 0
} catch (error) {
code = -1
}
ctx.body = {
code
}
})
- 发送请求
curl -d 'name=hahahhah&age=11' http://localhost:3000/users/addTest
- 查看数据库的表名
从这张图片可以看到,数据库表的名和models目录下的文件并无关联,而是与定义model的时候的参数相关联.并且,其规律是加s
写回答
1回答
-
嗯呢,虽然文件名和model名可以不一致,但是有个不成文的规定就是两者统一,这样根据文件名就可以区分model,collection和这个名称的关系是复数关系,你看下person的复数是people,不过你琢磨的很仔细,非常棒
012018-10-30
相似问题