私がやっているのは、メタデータのフィールドを問い合わせてGridFSファイルのリストを取得することです。たとえば、私は次のように見ているGridFSファイルの文書を得た:MongoDB GridFSメタデータに関する問い合わせ(Java)
{ "_id" : { "$oid" : "4f95475f5ef4fb269dbac954"} , "chunkSize" : 262144 , "length" : 3077 , "md5" : "f24ea7ac05c5032f08808c6faabf413b" , "filename" : "file_xyz.txt" , "contentType" : null , "uploadDate" : { "$date" : "2012-04-23T12:13:19.606Z"} , "aliases" : null , "metadata" : { "target_field" : "abcdefg"}}
そして私は「target_field」=「ABCDEFG」を含むすべてのファイルを照会します。私は次のようにクエリを作成しました:
BasicDBObject query = new BasicDBObject("metadata", new BasicDBObject("target_field", "abcdefg"));
// gridFS Object Initialization skipped
List<GridFSDBFile> files = gridFs.find(query);
リストはすべて空です。それ以外の場合、ファイル名またはuploadDateを照会することは完全に機能します。ネストされた属性でGridFSファイルを取得することはできませんか?
は、それはおそらく、あなたが何かをスペルミスしていませんか?これは私のマシンで正常に動作します。私はmongod 2.0.4とv2.7.3をJavaドライバに使用しています。 – Ren