Запрос метаданных MongoDB GridFS (Java)

Я пытаюсь сделать следующее: получение списка файлов GridFS путем запроса поля метаданных. Например, я получил файловый документ GridFS, выглядящий как :

{ "_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"}}

, и я хочу запросить все файлы, содержащие «целевое поле _» = «abcdefg». Я создал свой запрос следующим образом:

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

Список всегда пуст. В противном случае запрос имени файла или uploadDate работает отлично. Нельзя ли получить файлы GridFS по вложенным атрибутам?

10
задан sebastian 23 April 2012 в 13:43
поделиться