2013-04-25 3 views
0

Я хочу сделать пространственный поиск в моем приложении для Android. Я пытаюсь написать запрос mongodb в java, но не могу этого сделать. Как использовать этот MongoDB запрос в Javaкак написать запрос mongodb в java

db.places.find({ loc: { $geoWithin : { $center : [ [longitude, latitude], 10 ] } } })

Я новичок в MongoDB и пространственного поиска.

Пожалуйста, помогите !!!

Заранее спасибо.

+0

http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/ Я предполагаю, что вы используете этот драйвер? – Fildor

ответ

0

взгляд на апи: http://api.mongodb.org/java/2.11.1/

BasicDBList geoCoord = new BasicDBList(); 
    geoCoord.add(longitude); 
    geoCoord.add(latitude); 

    BasicDBList geoParams = new BasicDBList(); 
    geoParams.add(geoCoord); 
    geoParams.add(10); 

    BasicDBObject query = new BasicDBObject("loc", 
     new BasicDBObject("$geoWithin", 
      new BasicObject("$center", geoParams) 
     ) 
    ); 
+0

Большое спасибо за ответ :) это сработало для меня, можете ли вы рассказать мне, что это единица радиуса в этом запросе. Это метр или мили? Можем ли мы явно определить единицу радиуса или она заранее определена? – user2094409

Смежные вопросы