【问题标题】:Data is saved in Firebase in a different order than it is transferred SwiftUI数据在 Firebase 中的保存顺序与 SwiftUI 的传输顺序不同
【发布时间】:2020-09-02 13:01:13
【问题描述】:

我在应用程序中将数据保存到 Firestore。在代码中,它看起来像这样:

db.collection("flowers")
                        .document()
                        .setData(["Name":self.flowerName,
                                  "Cup width":self.cupWidth,
                                  "Cup height":self.cupHeight,
                                  "Stem length":self.stemLength,
                                  "Leaf width":self.leafWidth,
                                  "Leaf length":self.leafLength])

但在 Firestore 中它看起来像这样:

Cup height: "1"
Cup width: "1"
Leaf length: "1"
Leaf width: "1"
Name: "Rose"
Stem length: "1"

我希望它们以与在应用程序中传输相同的方式保存在数据库中。我猜它们在数据库中按字母顺序排序,但可以更改吗?我在文档中查找了任何信息,但没有找到任何信息。

【问题讨论】:

  • 你使用字典,它是无序容器。
  • 为什么要它们以特定顺序保存在数据库中?阅读时,您可以按您喜欢的任何顺序访问这些字段。控制台按字典顺序显示所有数据,正如@frankvanpuffelen 在他的回答中提到的那样,也正如你提到的那样,但这似乎不是你要问的。如果您能澄清您的要求,我们或许可以提供解决方案。

标签: swift firebase google-cloud-firestore swiftui


【解决方案1】:

Firestore 以 JSON 格式存储数据,根据定义,这种格式是无序的。因此,您将字段传递到数据库的顺序不会影响它们的存储顺序。

Firebase 控制台按字母顺序显示字段,但我不确定这是否得到保证。

当然,您可以按要求的顺序在应用的 UI 中显示它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多