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

2018-07-18  本文已影响375人  小m_up

今天在学习使用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表,写入了一条数据:

呃呃,数据真的被获取到了!!!
上一篇 下一篇

猜你喜欢

热点阅读