1

私はJavaを初めて使用します。このmongoクエリをJavaで構築するにはどうすればよいですか。任意のヘルプ/ヒントをいただければ幸いです。

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

1 に答える 1

5

QueryBuilderを使用すると、必要なクエリを作成できます。以下のように作成しました。

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));

クエリをコンソールに出力すると、次のようになります。

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

私はそれを試しませんでしたが、うまくいくことを願っています。

于 2012-08-17T08:36:49.550 に答える