java - Mongo 2.6.x GridFS 和 java 驱动程序

标签 java mongodb scala gridfs

我无法再使用java驱动程序写入GridFS mongo集合,mongodb版本是2.6.8(但我也可以在2.4.6上重现相同的问题),驱动程序是mongo-java-driver-2.12.1。我有一个文件存储库实现,它在下面使用网格文件系统,从今天起它无法写入这些集合并出现以下错误:

com.mongodb.MongoException:没有从服务器返回 md5:{ "serverUsed": "127.0.0.1:27017", "errmsg": "异常:无法获取查询的运行程序 { files_id: ObjectId('55c2196fd4c6e731be2ba1e9'), n: { $gte: 0 } }", "代码”:17241,“确定”:0.0}

这是我的应用程序的输出,在驱动程序中启用了跟踪和调试标志。有人知道这个问题吗?提前致谢。

最佳答案

对我来说,发生此错误是因为 gridfs 集合丢失了索引。在 mongo shell 中运行此命令来修复它:

use db.fs.files.ensureIndex({ filename : 1, uploadDate : 1}) db.fs.chunks.ensureIndex({ files_id : 1, n : 1 })

关于java - Mongo 2.6.x GridFS 和 java 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31835877/

相关文章:

java - 用于功能日志记录的恒定 UUID(设计)

java - 如何从maven运行tomcat?

java - 运行 sbt 失败 - java.io.IOException : No space left on device

windows - 以管理员Scala身份运行cmd

scala - 在 Scala 中,如何重新分配元组值?

java - Maven POM 的 XPath

java - java中的静态和非静态?

javascript - MongoDB 不是 okForStorage 错误

php - PHP 5.5 可以与 MongoDB 驱动程序一起使用吗?

python - 清理 MongoDB 的输入