2012-08-17 5 views
1

저는 java를 처음 사용했습니다. java에서이 mongo 쿼리를 어떻게 만들 수 있습니까? 어떤 도움/힌트를 주시면 감사하겠습니다.Mongodb java Query Builder

db.places.find({loc : { $near :[ -122.934326171875,37.795268017578] , $maxDistance : 50 } ,$or:[{"uid":"at"},{"myList.$id" :ObjectId("4fdeaeeede2d298262bb80") } ] ,"searchTag" : { $regex : "Union", $options: "i"} }); 
+0

지금 구현하려고 시도한 것이 무엇입니까? 우리를 보여줄 수 있습니까? –

답변

5

QueryBuilder을 사용하면 원하는 쿼리를 생성 할 수 있습니다. 나는 다음과 같이 그것을 창조했다. 나는 그것을 시도하지만 그것이 작동 희망하지 않았다

{ "loc" : { "$near" : [ -122.934326171875 , 37.795268017578 , 50.0]} , 
    "$or" : [ { "uid" : "at"} , { "myList.$id" : { "$oid" : "5024f2f577a59dd9736ddc38"}}] , 
    "searchTag" : { "$regex" : "Union" , "$options" : "i"} 
} 

: 나는 콘솔에 쿼리를 인쇄 할 때처럼

QueryBuilder query = new QueryBuilder(); 
query.put("loc").near(-122.934326171875, 37.795268017578, 50); 
query.or(
     QueryBuilder.start("uid").is("at").get(), 
     QueryBuilder.start("myList.$id").is(new ObjectId("5024f2f577a59dd9736ddc38")).get() 
      ); 
query.put("searchTag").regex(Pattern.compile("Union",Pattern.CASE_INSENSITIVE)); 

가 보인다.

+0

답변 해 주셔서 감사합니다. 다시 시도해 보죠. – atandon

+1

그것은 작동합니다. 고맙습니다. – atandon