這兩天在網(wǎng)上參考教程用express+mongodb建站,
在連接數(shù)據(jù)庫的過程中發(fā)現(xiàn)了一點(diǎn)問題

項目文件結(jié)構(gòu)如圖
在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;
意外發(fā)現(xiàn)雖然看起來連到了數(shù)據(jù)庫(網(wǎng)頁未報錯),但是就是不能顯示讀到的數(shù)據(jù)。

網(wǎng)頁顯示
最后發(fā)現(xiàn)是user.js文件中使用mongoose.model()的參數(shù)不對
查詢mongoose 的api如下

mongoose API
collection名稱應(yīng)該為第三個參數(shù),若為缺省,會自動根據(jù)參數(shù)name的值以復(fù)數(shù)形式生成collection
所以應(yīng)該改成
exports.registeredUser=
mongoose.model('registeredUser',registeredUserSchema,'registeredUser');