美文网首页
使用Mongoose查询数据库一直为空数组?

使用Mongoose查询数据库一直为空数组?

作者: 小m_up | 来源:发表于2018-07-18 21:16 被阅读375次

    今天在学习使用Mongoose的时候,遇到一个很奇葩的问题,首先,发个代码热热身:

    const mongoose = require('mongoose');
    mongoose.Promise = require('bluebird');
    mongoose.connect('mongodb://localhost:27017/test');
    
    const test = mongoose.model('test', mongoose.Schema({
        name: String
    }));
    
    router.get('/', async function (ctx, next) {
    
        const data = await test.find({});
        console.log(data);
        ctx.response.body = { data };
        if (next) {
            await next;
        }
    });
    

    这个代码看了好多次,没有任何毛病,但是它一直输出一个空数组,在MongoDB查询数据如下:


    在我的不懈努力下,最后发现mongoose在创建model的时候,会自动添加s,意思就是我虽然写的是从集合test中获取数据,但是它自动跑去tests里面获取,所以一直是空数组,刚开始还是有点不信的,试着又在数据库中建了一个tests表,写入了一条数据:

    呃呃,数据真的被获取到了!!!

    相关文章

      网友评论

          本文标题:使用Mongoose查询数据库一直为空数组?

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