我有以下查询:
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,
},
}
答案 0 :(得分:4)
使用此:
"$center": []interface{}{j.Location.Coordinates, 5000}
此行可能是错误:
time.Now().Unix() * 1000
您想要+ 1000
吗?