Consulta sobre metadados do GridFS do MongoDB (Java)
O que estou tentando fazer é buscar uma lista de arquivos GridFS, consultando um campo dos metadados. Por exemplo, eu tenho um documento de arquivo GridFS parecido com:
<code>{ "_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"}} </code>
E eu quero consultar todos os arquivos contendo "target_field" = "abcdefg". Eu criei minha consulta da seguinte maneira:
<code>BasicDBObject query = new BasicDBObject("metadata", new BasicDBObject("target_field", "abcdefg")); // gridFS Object Initialization skipped List<GridFSDBFile> files = gridFs.find(query); </code>
A lista está sempre vazia. Caso contrário, consultar o nome do arquivo ou uploadDate funciona perfeitamente. Não é possível obter os arquivos GridFS por atributos aninhados?