1

javaでmongodbにクエリを実行しようとしています。私のコレクションの名前は次のとおりです。これは、私が照会している特定のドキュメントの例です。

{
"_id" : {
    "d" : "B66929932",
    "r" : "15500304",
    "eT" : ISODate("2014-09-29T12:03:00Z")
},
"v" : 169000,
"iT" : ISODate("2015-04-10T20:42:07.577Z")

}

r = 15500304、eT = 2014-09-29T12:03:00Z、および v = 169000 の場所をクエリしようとしています。mongo でこれをかなり簡単に実行できます。

db.reads.find({ "_id.r" : "15500304", "_id.eT" : ISODate("2014-09-29T12:03:00Z"), "$where" : "this.v == 169000;"}).pretty()

これをJavaで構造化する方法がわかりません。これまでのところ、私は持っています:

DBCollection collection = db.getCollection("reads");
BasicDBObject andQuery = new BasicDBObject();
List<BasicDBObject> obj = new ArrayList<BasicDBObject>();

obj.add(new BasicDBObject("_id.r", "15500304"));
obj.add(new BasicDBObject("_id.eT", "2014-09-29T12:03:00Z"));
obj.add(new BasicDBObject("v", 169000));
andQuery.put("$and", obj);

DBCursor cursor = collection.find(andQuery);
    while(cursor.hasNext()){
        System.out.println(cursor.next());
    }

私の質問は次のとおりです。これらの子ノードを使用してクエリを実行し、一致するドキュメントを返すにはどうすればよいですか?

オンラインで明確なアドバイスや例を見つけることができません。すべてのアドバイスは非常に高く評価されています。

4

1 に答える 1