2

mongo-java-driver 経由で保存されたオブジェクトがあります。オブジェクトはjava.util.UUIDその_idフィールドに使用します。以下は、mongo シェルを介したオブジェクトのプレゼンテーションです。

> db.b.find()
{ "_id" : BinData(3,"zUOYY2AE8WZqigtb/Tqztw==") }

$where句を介して検索を処理する必要があります。私はそれを行うために次のコードを使用します:

Mongo m = new Mongo();
DBCollection coll = m.getDB("a").getCollection("b");
coll.save(new BasicDBObject("_id", UUID.randomUUID()));
// ??? - don't know what should be specified
DBObject query = new BasicDBObject("$where", "this[\"_id\"] == " + ???);
coll.find(query).count()

問題は、それを機能させる代わりに何を指定すればよい???ですか?

助けてくれてありがとう。

4

1 に答える 1

0

私の調査によると、それを行う唯一の方法は、オブジェクトベースの方法でクエリを書き換えることです(つまり、$ where句の一部をBasicDBObjectベースのクエリに移行することを意味します)。このような場合、mongo-java-driverは追加の作業なしでjava.util.UUIDをサポートします。

于 2011-06-24T09:33:26.910 に答える