我们有一个复杂的JSON,它在主对象内有多个子对象。 例如:
dept: {
name: Dept1,
emps: [
{
empCode: 001,
empName: Emp001
}
]
}
如果我们使用db.collection("dept").add(deptPojo)
,它将自动创建“ emps”子集合并为每个emp对象自动分配文档ID。
但是我们希望将empCode分配为每个emp文档的文档ID。
这可以实现吗?怎么样? Firebase Firestore API中是否有任何@Id注释?
答案 0 :(得分:0)
当前无法使用注释来指示ID,但我相信Firebase团队正在寻找解决方案。
答案 1 :(得分:0)
对不起,我不好!
给我的印象是,在上面的示例中,dept内部的emp数组最终将创建子集合emp,该数组中的每个条目都是一个自动生成的文档ID。
但是后来我明白了,我在这个假设中是错误的。 行为如下。
如果您有嵌套的对象(例如,父对象的字段类型为List或Map。 然后将它们作为数组存储在Firestore中,而不是创建专用的子集合。
表示在保存pojo对象的情况下,firebase doe不会自动创建子集合。 如此处的屏幕截图所示...设备是设备对象的映射,但它存储为数组。
谢谢。
答案 2 :(得分:0)
已更新
现在您可以使用来自 firebase 的 @DocumentId
来完成它。只需将它添加到您的 POJO 类中