【问题标题】:Doctrine - MongoDB, id from type BinDataDoctrine - MongoDB,来自 BinData 类型的 id
【发布时间】:2014-01-09 15:07:51
【问题描述】:

我有使用 _id 作为 BinData 对象的 MongoDB 数据。

{  
   "_id" : BinData(3,"ABRWTIFGPEeSFf69fISAOA=="),
   "Email" : "XXXXX@msn.com", 
}

如何从BinData 类型为_id 设置注解映射?

【问题讨论】:

    标签: php mongodb symfony symfony-2.3 doctrine-odm


    【解决方案1】:

    MongoDB 的 BinData 由 PHP 类 MongoBinData 支持。

    http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html#bin 的 Doctrine 文档说您可以使用 @Bin 注释,或其他以 @Bin 开头的注释。

    http://bsonspec.org/#/specification 之后,二进制子类型“3”是“UUID(旧)”,不推荐使用类型4(UUID)。我认为您应该能够将@BinUUID 用于http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html#binuuid 有文档的这种类型。

    【讨论】:

    • 当我使用 [@MongoDB\BinUUID] 时抛出异常:没有为 Document 指定标识符/主键
    【解决方案2】:

    #444合并到master后,我们可以将BinData Obejct转换成MongoDB处理为MongoBinData Object与同类型\MongoBinData::UUID(3)

    我们在使用Doctrine MongoDB ODM时必须使用int这种情况下的注解是@Id(type="bin_uuid")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 2020-01-27
      相关资源
      最近更新 更多