在連接mongodb的過程中遇到mongodb collection自動加s的問題

原文鏈接:https://www.jianshu.com/p/c2a2d0849eba

這兩天在網上參考教程用express+mongodb建站,
在連接數據庫的過程中發現了一點問題

在這裏插入圖片描述
在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如下
在這裏插入圖片描述

collection名稱應該爲第三個參數,若爲缺省,會自動根據參數name的值以複數形式生成collection

所以應該改成

exports.registeredUser=
mongoose.model('registeredUser',registeredUserSchema,'registeredUser');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章