美文网首页MongoDB
在连接mongoose的过程中遇到mongodb collect

在连接mongoose的过程中遇到mongodb collect

作者: hyhchaos | 来源:发表于2016-10-25 20:55 被阅读89次

    这两天在网上参考教程用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如下

    mongoose API

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

    所以应该改成

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

    相关文章

      网友评论

        本文标题:在连接mongoose的过程中遇到mongodb collect

        本文链接:https://www.haomeiwen.com/subject/lktduttx.html