我有3个 MongoDb 集合:
我有一个user_id。 需要找到他的联系人(users_contacts)的最新位置,由他们当前位置的distanse排序(最近将在结果的顶部)。 如何创建 MapReduce 功能?感谢能够提供 C#示例 的任何人。
答案 0 :(得分:0)
您需要查看Near / geoNear功能
http://docs.mongodb.org/manual/reference/operator/near/
类似
places.EnsureIndex(IndexKeys.GeoSpatial("loc"), IndexOptions.SetGeoSpatialRange(-500, 500));
var query = Query.Near("loc", 50, 50, 5);
var cursor = places.Find(query).SetLimit(20);
foreach (var hit in cursor) {
// process hit
}
现在您要查询users_contacts
var query = Query.And(Query.EQ("user_id", "<id>"),Query.Near("loc", x, y, r));
var cursor = users_contacts.Find(query)