Node.js Mongoose在Windows中填充,不像在Linux中那样工作

Node.js Mongoose在Windows中填充,不像在Linux中那样工作,node.js,mongodb,mongoose,mongoose-populate,Node.js,Mongodb,Mongoose,Mongoose Populate,我有这个模式(简化) 当我打电话时 postModel.findOne({ _id: ObjectId(req.body.page.id) }).populate([ { path: 'items', model: 'image' }, { path: 'items', model: 'text' } ]).exec(function(err, article) { return res.re

我有这个模式(简化)

当我打电话时

postModel.findOne({
    _id: ObjectId(req.body.page.id)
}).populate([
    {
        path: 'items',
        model: 'image'
    }, {
        path: 'items',
        model: 'text'
    }
]).exec(function(err, article) {
    return res.render('main/article', {
        title: article.title,
        items: article.items
    });
});
结果仅包含文本,不包含图像

但是,如果我用

.populate([
    {
        path: 'items',
        model: 'text'
    }, {
        path: 'items',
        model: 'image'
    }
])
我只得到没有文本的图像

似乎这个问题只发生在windows上 我使用: MongoDB外壳版本:3.2.10
mongoose:^4.6.4

在模型中,如果超过字符串,则应通过var模型

.populate([
    {
        path: 'items',
        model: text
    }, {
        path: 'items',
        model: image
    }
])
.populate([
    {
        path: 'items',
        model: text
    }, {
        path: 'items',
        model: image
    }
])