以数组为参数查询,如何转换为 GoLang mgo?

Query with an array as parameter, how to convert to GoLang 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,
        },
    }

使用这个:

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

这一行可能是错误的:

 time.Now().Unix() * 1000

你想要+ 1000吗?