查询条件在node.js中的mongoose查询中不起作用

时间:2017-03-01 13:59:02

标签: node.js mongodb mongoose mongoose-schema

我有如下数据库架构:

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次,但查询似乎不起作用,它为我提供了收集中的每个项目。

1 个答案:

答案 0 :(得分:0)

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

    success: function (data) { 
        $.each(data.posts, function(i, response) {
            $("#homestatusid").append(""+response['commentlinktoggle']+"");
        )};
    }

希望我的回答很有帮助。