java
を使用して単純なMongoDB
クエリを書く必要がありますが、できません。javaを使用してMongoDBクエリを実行する方法?
モンゴクエリは次のようになります。
db.yourCollection.find({"$where" : "this.startDate < this.endDate"})
私はQueryBuilder
クラスを使用して上記のクエリを記述する必要があります。しかし、MongoDB
java
のドライバでそれを行うことはできません。
BasicDBObject document = new BasicDBObject();
document.put("id", 1001);
document.put("intValue", 1200);
document.put("updateValue", 2100);
DBObject query = QueryBuilder.start("intValue").lessThan("updateValue").get();
DBCursor cursor = collection.find(query);
while (cursor.hasNext()) {
System.out.println("Result : -"+cursor.next());}
上記のコードは結果を返しません。しかし、updateValue
に2100
に変更すると結果が出ます。ここで私の質問はlessThan
入力パラメータとしてオブジェクトを取ります。それでは、どのようにドキュメントフィールドを入力パラメータとして渡すことができますか?
上記のクエリビルダが機能していません。 「endDate」が同じ文書内のフィールドである場合私がQueryBuilderでendDateの代わりに一定の値を与えるとうまくいきます。さらに、BasicDBObjectは、第2番目のパラメータでendDateフィールド名を受け入れません – zulu