假设我有一个带有一些可选属性的数据模型。例如,它可以是具有“firstname”、“lastname”和可选的“网站”属性的用户对象。
谢了。
文档可以包含具有null
值数据类型的属性(请参见数据类型文档)。然后,这将允许您构造一个查询,以限制website
属性为null
的结果。
这与缺少属性不完全相同,但是如果使用自定义对象将数据写入Firestore,空属性将自动保存为null
而不是根本不保存。您还可以手动/编程地将null
值写入数据库。
在Android中,我使用以下方法进行了测试:
FirebaseFirestore.getInstance().collection("test").whereEqualTo("website", null).get();
我相信您通常在Swift中开发,不幸的是,在Swift中不支持自定义对象,但是您可以使用nsnull()
向FireStore写入null
值。例如(我不精通Swift,所以请随时纠正任何问题):
// Writing data
let docData: [String: Any] = [
"firstname": "Example",
"lastname": "User",
"website": NSNull()
]
db.collection("data").document("one").setData(docData) { err in
if let err = err {
print("Error writing document: \(err)")
} else {
print("Document successfully written!")
}
}
// Querying for null values
let query = db.collection("test").whereField("website", isEqualTo: NSNull())
文档没有提到查询不存在的值的方法,所以这似乎是下一个最好的方法。如果有人可以改进或建议替代方案,请这样做。
我有一个云Firestore DB,其结构如下: null null 有人能想出一个优雅的解决这个问题的办法吗?
我希望在我的社交应用程序中实现朋友搜索功能。为此,我尝试在DB的“用户”集合中查询每个用户的文档,但它应该排除一些特定文档,例如当前用户已经是朋友的用户或请求待定的用户。 是否可以通过在Firestore中传递这些文档引用ID来查询所有用户文档,不包括特定文档。 如果没有,有人能说一种结构化数据的方法,以便我可以实现这个功能吗?谢谢。
我在使用firestore查询“wherequalto”时遇到了麻烦。我试图从一个名为“参与者”的集合中获取图像,但当文档不存在时,应该使用else语句并移动到更新文档的下一个活动。但是在onComplete侦听器(即任务)中从集合中查询文档时,文档没有退出,而是代码运行到if(Task.issucessful){}中,并且没有使用else语句。我的代码:有谁能帮我吗?谢谢
我想像这样更新文档: 但是,如果doc user\u id不存在,上述代码将抛出错误。因此,如果不存在,如何告诉Firestore创建学生,换句话说,行为如下:
我想在firestore数据库中查询文档id。目前我有以下代码: 我没有结果。但当我查询其他字段时,它会起作用: 文档id的名称是如何调用的?
我有一个网站,用户可以做课程。当用户开始一个课程时,我希望将课程标识符添加到FireStore中的用户文档中。在网站上,用户有自己的个人资料页面。其中一个区段是正在进行的课程区段,用户可以在该区段中查看他们当前注册的课程。 我可以将课程文档键添加到用户文档上的一个字段中,一旦他们开始课程,该字段是一个字符串数组,包含另一个集合中文档的键。 GetRegrendCareersList=async()