错误:找不到任何特殊索引2d(需要索引)2dsphere(需要索引)

时间:2014-07-14 09:16:51

标签: mongodb heroku

当我在heroku云服务器上使用此find命令时:

users.find({$and: [
{loc: { $nearSphere: user.loc.coordinates,
        $maxDistance: user.dis / 3959}},
{age: {$gte: user.age_down}},
{age: {$lte: user.age_up}},
{gender: user.interested},
{interested: user.gender}]})

我收到can't find any special indices 2d (needs index) 2dsphere (needs index)错误。

db.users.getIndexes()的结果(在heroku中)是:

PRIMARY> db.getIndexes()
[
        {
                "v" : 1,
                "key" : {
                        "_id" : 1
                },
                "ns" : "app27206755.users",
                "name" : "_id_"
        },
        {
                "v" : 1,
                "key" : {
                        "loc" : "2dsphere"
                },
                "ns" : "app27206755.users",
                "name" : "loc_2dsphere",
                "background" : true
        }
]

奇怪的是,在我的本地服务器中它完美运行(完全相同的代码),但问题仅在于heroku ...我想也许我的本地机器上有更新版本的mongo。问题是我不知道如何在heroku云服务器上更新mongodb的版本,或者它是否可能?

更新 :我刚发现heroku中的mongo版本是2.4.8,而本地机器中的版本是2.6.3。 任何想法如何升级?

谢谢!

0 个答案:

没有答案