如何在ObjCMongoDB中进行地理空间查询

时间:2014-03-27 06:27:12

标签: iphone objective-c mongodb objcmongodb

我试图在ObjCMongoDB中实现此查询:

db.<collection>.find( { loc : 
    { $near : 
        { $geometry : 
            { type : "Point" , 
            coordinates : [ -121.9 , 37.5 ] } , 
            $maxDistance : 10000 
} } } )

但是,我没有收到任何疑​​问(我应该这样做)。不确定我做错了什么。这是我的尝试:

    MongoKeyedPredicate *predicate = [MongoKeyedPredicate predicate];
    NSValue *value = [NSValue valueWithCGPoint:CGPointMake(-121.9, 37.5)];
    CGPoint point = [value CGPointValue];
    CGFloat maxDistance = 10000;

    [predicate keyPath:@"loc" isNearPoint:point maxDistance:maxDistance];
    NSArray *results = [collection findWithPredicate:predicate error:&error];

    for (BSONDocument *resultDoc in results) {
        NSDictionary *result = [BSONDecoder decodeDictionaryWithDocument:resultDoc];
        NSLog(@"fetch result: %@", result);
    }

0 个答案:

没有答案