Consulta sobre metadatos GridFS de MongoDB (Java)

Lo que estoy tratando de hacer es buscar una lista de archivos GridFS consultando un campo de metadatos. Por ejemplo, tengo un documento de GridFS con el siguiente aspecto:

<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>

Y quiero consultar todos los archivos que contienen "target_field" = "abcdefg". He creado mi consulta de la siguiente manera:

<code>BasicDBObject query = new BasicDBObject("metadata", new BasicDBObject("target_field", "abcdefg"));
// gridFS Object Initialization skipped
List<GridFSDBFile> files = gridFs.find(query);
</code>

La lista está siempre vacía. De lo contrario, consultar el nombre de archivo o uploadDate funciona perfectamente. ¿No es posible obtener los archivos GridFS por atributos anidados?

Respuestas a la pregunta(3)

Su respuesta a la pregunta