查询标准在node.js中的蒙古斯查询中不起作用



我的数据库模式如下:

var Items = new Schema({
    no_of_times_ordered:Number,
    item_name:String,
    item_tag:String,
    item_category:String,
    item_stock:Number,
    item_price:Number,
    item_img:String,
    item_illustrations:[String],
    item_liked:Boolean,
    no_of_likes:Number
},{ versionKey: false });

var FoodTruckSchema = new Schema({
    foodtruck_name:String,
    foodtruck_location:String,
    foodtruck_rating:Number,
    foodtruck_tag:String,
    foodtruck_timing:String,
    foodtruck_cusine:String,
    foodtruck_img:String,
    foodtruck_logo:String,
    item_list: [Items]
},{ versionKey: false });

module.exports = mongoose.model('foodtruck',FoodTruckSchema);

查询如下:

var popularitems = function(req,res) {
    foodtr.find({ 'item_list.no_of_times_ordered': { $gt: 4000}},function(err,items){
        if (err) res.send(err);
        res.json({
            status : '200',
            message:'popular items list',
            data: items
        });
    });

在这里,我想要NO_OF_TIMES_ORDER的项目超过3000次,但是查询似乎不起作用,它为我提供了收藏中的所有项目。

我相信您的查询是错误的。如果您想要 no_of_times_ordered ,则应在查询中指定它。例如:

var popularitems = function(req,res) {
    foodtr.find({ 'item_list.no_of_times_ordered': { $gt: 4000}},function(err,items){
        if (err) res.send(err);
        res.json({
            status : '200',
            message:'popular items list',
            data: items
        });
    });

希望我的答案有帮助。

最新更新