使用数组作为参数查询,如何转换为GoLang mgo?

时间:2016-08-11 09:29:01

标签: mongodb go mongodb-query mgo

我有以下查询:

db.getCollection('spawnlocations').find({
    'location': {
        '$geoWithin': {
            '$center': [[-73.94075, 40.789138], 5000]
        }
    }, 
    "expirationtimems": { "$gte": 1234567890 }, 
    "_id": { "$gte": "2a920240836c40d8b374203a798a27fa.16" }
}).sort({"_id":1}).limit(50)

我正在尝试使用bson.M将查询转换为mgo,但我很难使用它的数组部分。

我认为这会奏效,但当然不会

    q = bson.M{
        "location": bson.M{
            "$geoWithin": bson.M{
                "$center": [
                    j.Location.Coordinates,
                    5000
                ],
            },
        },
        "expirationtimems": bson.M{
            "$gte": time.Now().Unix() * 1000,
        },
        "_id": bson.M{
            "$gt": p,
        },
    }

1 个答案:

答案 0 :(得分:4)

使用此:

"$center": []interface{}{j.Location.Coordinates, 5000}

此行可能是错误:

 time.Now().Unix() * 1000

您想要+ 1000吗?