在连接mongoose的过程中遇到mongodb collection自动加s的问题

这两天在网上参考教程用express+mongodb建站,
在连接数据库的过程中发现了一点问题

在连接mongoose的过程中遇到mongodb collection自动加s的问题_第1张图片
项目文件结构如图

在user.js文件中,代码如下

var mongoose=require("mongoose");
var Schema=mongoose.Schema;
var registeredUserSchema=new Schema({    
  username:String,    
  password:String,    
  level:String
});
exports.registeredUser=mongoose.model('registeredUser',registeredUserSchema);

在index.js文件中,代码如下

var express = require('express');
var router = express.Router();
var mongoose=require('mongoose');
var models=require('../models/user');
require('express-mongoose');
var registeredUser=models.registeredUser;
mongoose.connect('mongodb://localhost:27017/myappdb');

router.get('/',function(req,res)
{    
res.send(registeredUser.find());
})
module.exports = router;

意外发现虽然看起来连到了数据库(网页未报错),但是就是不能显示读到的数据。

网页显示

最后发现是user.js文件中使用mongoose.model()的参数不对
查询mongoose 的api如下

在连接mongoose的过程中遇到mongodb collection自动加s的问题_第2张图片
mongoose API

collection名称应该为第三个参数,若为缺省,会自动根据参数name的值以复数形式生成collection

所以应该改成

exports.registeredUser=
mongoose.model('registeredUser',registeredUserSchema,'registeredUser');

你可能感兴趣的:(在连接mongoose的过程中遇到mongodb collection自动加s的问题)