Mongodb Query大于数组中的值

时间:2014-11-09 21:24:26

标签: mongodb mongoose

尝试查询mongo以返回包含数组中大于某个值的值的文档。这是我的困惑......

> db.homes.findOne({},{'listing.location.latitude': 1})
{
    "_id" : ObjectId("545fd08f37e6134b5796a085"),
    "listing" : {
        "location" : [
            {
                "latitude" : [
                    "38.68431"
                ]
            }
        ]
    }
}

有道理,只返回我想要的字段。但是当我在这个字段上查询时,它失败了:

> db.homes.findOne({'listing.location.latitude': {$gt: 0}})
null

我认为它与结构中的数组有关,但我不知道如何在数组中以不同方式查询它。我究竟做错了什么?目标是将此查询转移到mongoose。

1 个答案:

答案 0 :(得分:0)

如果这是您的实际数据,则将纬度保持为字符串"38.68431"。您需要将其保持为float以正确运行查询。