【发布时间】:2012-05-04 03:03:39
【问题描述】:
我要做的是通过查询元数据的字段来获取 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"}}
我想查询所有包含“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 驱动程序。