【发布时间】:2017-10-09 14:45:14
【问题描述】:
我正在通过 Java 中 springdata 中的 GridFsTemplate 将 MongoDB API 用于 DocumentDB。
我在尝试使用 MongoDB 的 GridFS 部分管理大文件时遇到错误。
我能够创建一个文件(我认为)并找到它的元数据,但我无法检索文件内容。返回以下错误:
Error: error: {
"_t" : "OKMongoResponse",
"ok" : 0,
"code" : 8,
"errmsg" : "The value '/media/7hsUAJOI2QsBAAAAAAAAAEeWwrcB' specified for query '$resolveFor' is invalid.\r\nActivityId: a68945e8-0000-0000-0000-000000000000",
"$err" : "The value '/media/7hsUAJOI2QsBAAAAAAAAAEeWwrcB' specified for query '$resolveFor' is invalid.\r\nActivityId: a68945e8-0000-0000-0000-000000000000"
}
我在使用 Robomongo 并尝试检查 fs.chunks 集合时遇到了同样的错误。
我之所以说我认为我可以创建集合是因为使用 Azure Web 界面中的浏览功能,fs.chunks 似乎只有一条记录,而不是很多块。所以也许存储是问题。
如果使用标准 MongoDB,所有这些都可以正常工作。
这是保存文件的代码,完成后没有错误。
gridFsTemplate.store( content, filename, contentType, metadata );
这是找到它并获取内容的代码
//this works
GridFSDBFile data = gridFsTemplate.findOne( query );
ByteArrayOutputStream out = new ByteArrayOutputStream();
if ( data != null )
{
//this results in Exception with the same message as the error above
data.writeTo( out );
}
【问题讨论】:
标签: azure-cosmosdb gridfs