QueryBuilder(MongoDB Java API 2.9.1)を使用して$inクエリを作成しようとしています。クエリが文字列の配列である場合は問題ありませんが、ObjectIdの配列で試行すると、機能しません(何も返されません)。
クエリを正常に実行し、コンソールから結果を取得できます。
コンソールでのクエリ:db.collection.find({removed:false、app_id:{$ in:[ObjectId( "4f75c533ac99d845186e19b2")、ObjectId( "4f75c533ac99d845186e19b3")]}})
QueryBuilder(MongoDB Java API 2.9.1)によって作成されたクエリ:
Object [] ids;
Javaコード:DBObject query = QueryBuilder.start( "app_id")。in(ids).and( "removed")。is(false).get();
DBObjectのToStringは次を生成します:{"app_id":{"$ in":[{"$ oid": "4f75c533ac99d845186e19b2"}]}、 "removed":false}
私が何か間違ったことをしているのか、APIがObjectIdタイプの$inクエリをサポートしていないのかわからない。何か案は?