2

当我尝试将字节数组作为域类的字段存储在 grails 应用程序中时,mongo 数据库中的结果条目是字节数组的对象 ID,而不是我期望的 BinData 对象。

例子:

class SimpleDomainClass {
    byte[] filed = ['d', 'w', 1, 5, 'r']
}

在 Mongo DB 中产生以下结果:

{"field" : "[B@29edc561"}

我期待更多类似的东西:

{"field" : BinData(0,"blahblahblah")}

mongo-java 驱动程序文档明确指出这应该存储为二进制对象,并且它正在为我们提供具有类似配置的类似项目。

有谁知道这里可能是什么问题?

库版本:

  • 圣杯 2.1.0
  • plugins.mongodb=1.1.0.GA
  • mongo-java-driver 2.10.1
4

1 回答 1

2

你是绝对正确的,文档说它应该工作。插件中有一个错误GPMONGODB-2651.1.0.GA mongodb会产生数组保存错误。

讨论了相同的问题:Grails - Mongo: storage images as byte array

但是,由于您使用grails 2.1.0了将 mongo gorm 插件降级为 version 的更改1.0.0.GA,因此数组已正确保存在那里。

于 2013-01-29T21:50:12.600 回答