gpt4 book ai didi

java - 如何知道Firestore文档中每个属性的类型?

转载 作者:行者123 更新时间:2023-12-02 08:46:16 24 4
gpt4 key购买 nike

我有这个数据库:

root
\_ users
\_ uid
\_ name: "Pathis"
\_ admin: true
\_ uid
\_ name: "Venkat"
\_ admin: false

获取数据的代码:

db.collection("users").whereEqualTo("admin", true).get().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
boolean admin = document.getBoolean("admin");
}
}
});

它之所以有效,是因为我知道类型(名称是字符串,管理是 boolean 值)。但如果我不认识他们,这将如何运作呢?我需要的是一种获取文档并验证每个属性的方法。假设我找到 name 并且我想验证为 String 类型,我找到 admin 并且我应该得到 boolean 值。有解决办法吗?

最佳答案

如果您事先不知道值的类型,则必须使用 get() 以对象形式访问该值。 ,然后使用 Java instanceof 运算符检查其类型。例如:

Object adminObject = document.get("admin");
if (adminObject instanceof String) {
String admin = (String) adminObject;
}
else if (adminObject instanceof Boolean) {
boolean admin = (Boolean) adminObject;
}

这不是一个详尽的方法 - 只是一个简短的示例。您可能需要处理许多其他类型,并且您的代码可能需要进行调整。

关于java - 如何知道Firestore文档中每个属性的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61063913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com