Aravindh
Aravindh

Reputation: 131

MongoDB $gt not working

Below query gives me no results, though there are fields matching the geo location and time stamp.

I have tried changing the $gt to $ne and it returns the sum of all $values.

I have even tried checking timeStamp greater than 0. still no result. Here timestamp is a double datatype.

db.csv2.aggregate([{
    $match: {
        $and: [{
            loc: {
                $geoWithin: {
                    $box: [
                        [-128.232422, 26.382028],
                        [-109.6875, 43.624147]
                    ]
                }
            }
        }, {
            timeStamp: {
                $gt: 1432201420790
            }
        }]
    }
}, {
    $group: {
        _id: null,
        total: {
            $sum: "$value"
        }
    }
}]);

Upvotes: 1

Views: 3369

Answers (1)

GuillaumeA
GuillaumeA

Reputation: 3545

The error given to you is explicit. Read the doc to see how to implement the $gt aggregation function : documentation

Basically, the condition is an array

{ $gt: ["$timeStamp", 1432201420790] }

[EDIT] Your issue probably comes from the syntax with the dollar sign before the timestamp field which is missing in your code. Try this

{ $gt: ["$timeStamp", 1432201420790] }

instead of

{ timeStamp: { $gt: 1432201420790 }}

Upvotes: 2

Related Questions