1、在 boss 数据库下新建 user 集合
2、随便插入几条数据
3、用mongoose建立模型,此处user集合所写的是单数形式
const models = { user: { 'user': { type: String, require: true }, 'pwd': { type: String, require: true }, 'type': { type: String, require: true }, //头像 'avatar': { type: String }, //简介 'desc': { type: String }, } } for (let m in models) { mongoose.model(m, new mongoose.Schema(models[m])) } module.exports = { getModel: function(name){ return mongoose.model(name) } }
4、查询操作
const User = model.getModel('user') Router.get('/list', function (req, res) { User.find({}).exec(function (err, doc) { res.json(doc) }) })
发送请求后返回结果为空数组[ ],这就奇了怪了。
然后
直接使用该模型插入新的数据,发现数据库中多出了一个users集合
所以在用mongoose操作mongodb时应注意单词单复数形式。
如果不想变成复数,参考 mongoose连接collection后自动加s的问题