【问题标题】:How to add new field with out replace the old document?如何在不替换旧文档的情况下添加新字段?
【发布时间】:2022-01-26 04:14:31
【问题描述】:

所以我试图在我的java移动应用程序中实现用户和组之间的多对多关系,所以一个用户可以在多个组中,一个组可以有多个用户,我使用firebase来存储我的数据。

我找到了这个例子:

enter image description here

这是我的代码:

这里的问题是 push 会生成一个新的 id,然后它会在里面添加值为 true 的组的 ID:

但我不希望这样,如果我 delete.push() 我只找到了我添加的最后一个组的一个字段,所以我认为每次我添加一个新组时它都会取代最后一个

【问题讨论】:

  • 请不要发布您的代码截图或其他文本内容。而是发布实际文本,并使用 Stack Overflow 的格式化工具进行标记。
  • 我不确定我是否了解您的数据结构,也不确定您想要的输出是什么。 younssbouch下的-M...键是什么意思?我知道他们是通过拨打push() 来的,但他们是干什么用的?为什么不直接打电话给...child("user_enrollments").child(username).setValue(true) 表明username 已注册?
  • 在这个 user_enrollments 集合中,我想存储用户 younesbouch 集成的所有组 ID,所以 Id 在` ...child("User_enrolments").child(username) 中。 child(Id).setValue("true");`被引用到组Collection中的组id
  • 在那种情况下,我不明白你想让代码做什么。请编辑您的问题(下面有一个链接)以:1)将代码显示为文本,而不是屏幕截图,2)在使用现有用户名运行代码后显示您想要获取的 JSON(我也推荐将此作为文本发布,但在这种情况下确保它是有效的 JSON)。

标签: java android firebase firebase-realtime-database


【解决方案1】:

我认为您的数据结构可能过于复杂。如果您想跟踪谁注册的用户名,那么简单的操作如何:

User_enrollments
  .child("user_enrollments")
  .child(username)
  .setValue(true)

【讨论】:

    猜你喜欢
    • 2018-10-22
    • 1970-01-01
    • 2015-05-28
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 2020-04-07
    • 2020-09-30
    相关资源
    最近更新 更多