私のアプリケーションでMongoDB(2.14)用のJavaドライバを使用しています。バイナリデータのクエリ - MongoDB
{ "_id" : ObjectId("56fb9798e2445ade35effa89"), "b" : BinData(3,"abcdefgh") }
{ "_id" : ObjectId("56fba265e2445ade35effa8c"), "b" : 1 }
私は"b"
は、Javaを使用してバイナリデータであり、すべてのドキュメントを取得する必要があります。
私はこれらの文書を持っています。
DBObject query = new BasicDBObject(b, new BasicDBObject("$type",5));
DBObject projKeys = new BasicDBObject();
projKeys.put("_id", 0);
projKeys.put(b, 1);
DBCursor cursor = coll.find(query,projKeys);
しかし、私はcursor
を反復するために起動したとき、私は例外を取得:
java.lang.IllegalArgumentExceptionが:悪いデータサイズサブタイプ3 LEN:私は次のクエリを使用して、私の目標に到達するために !6 = 16
私はモンゴシェルを使用して、同じクエリをしようと、それは次のようになります。
db.coll.find({b:{"$type":5}}, {_id:0,b:1})
私はこのエラーはありません。
ありがとう、素晴らしい説明。 – DistribuzioneGaussiana