Mongoose在模式集合数组中查找

时间:2017-05-17 03:22:38

标签: node.js mongodb mongoose

我正在尝试找到里面匹配的文档数组..

架构名称是食物,这是它

var foodSchema = {
    "store_id": String,
    'food': [{
        'dish': String
    }]
};
var store = mongoose.model('store', storeSchema);
module.exports = { store: store, food: food }

这是控制器

dbModel.food.find({ 'food.dish': req.body.data }, function(err, foundUsers) {
        res.status(200).json({
            "success": "1",
            "message": foundUsers
        });
    });

它总是空着,我怎么能找到它?

2 个答案:

答案 0 :(得分:0)

您还需要var food = mongoose.model('food', foodSchema)

答案 1 :(得分:0)

首先,您的代码不完整,在导出{store: store, food:food}时,代码只是显示store模型。但仍然考虑你的foodSchema,找到一个匹配字符串数组的元素。您可以尝试$in运算符,如下所示:

dbModel.food.find({ food: { $in: [req.body.data] } }, function(err, foundUsers) {
    res.status(200).json({
        "success": "1",
        "message": foundUsers
    });
});