Firebase 删除Firestore中数组处的索引
我在我的文档中获得了以下数据: 我想删除索引0。我该怎么做?这应该可以达到我想的效果:Firebase 删除Firestore中数组处的索引,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我在我的文档中获得了以下数据: 我想删除索引0。我该怎么做?这应该可以达到我想的效果: db.collection("data").document("free").updateData(["deleteme.deletemee.0" : FieldValue.delete()]) { (errr) in print(errr) } 但是errr打印的是nil,没有任何内容被删除。在获取文档时,我注意到在使用此代码时数据有些奇怪: db.collect
db.collection("data").document("free").updateData(["deleteme.deletemee.0" : FieldValue.delete()]) { (errr) in
print(errr)
}
但是errr打印的是nil,没有任何内容被删除。在获取文档时,我注意到在使用此代码时数据有些奇怪:
db.collection("data").document("free").getDocument { (doc, err) in
guard let _doc = doc,
doc?.exists ?? false else{ return }
print(_doc.data())
}
这将打印出:
["deleteme": {
deletemee = (
1 //this is the value for the key, but where is my key?! :(
);
}]
我看不到钥匙,它在哪里?如何在Firestore中删除索引中的内容?谢谢。目前无法修改存储在Cloud Firestore中的阵列的单个元素 如果将数据存储为地图(键不重要),如下所示:
{
name: "sam",
things: {
one: "value",
two: "value"
}
}
// Delete the things.one data
db.collection("whatever").document("whatever").updateData([
"things.one": FieldValue.delete(),
]) { err in
if let err = err {
print("Error updating document: \(err)")
} else {
print("Document successfully updated")
}
}
{
name: "sam",
things: {
two: "value"
}
}
然后,您可以删除单个元素,如下所示:
{
name: "sam",
things: {
one: "value",
two: "value"
}
}
// Delete the things.one data
db.collection("whatever").document("whatever").updateData([
"things.one": FieldValue.delete(),
]) { err in
if let err = err {
print("Error updating document: \(err)")
} else {
print("Document successfully updated")
}
}
{
name: "sam",
things: {
two: "value"
}
}
现在数据将如下所示:
{
name: "sam",
things: {
one: "value",
two: "value"
}
}
// Delete the things.one data
db.collection("whatever").document("whatever").updateData([
"things.one": FieldValue.delete(),
]) { err in
if let err = err {
print("Error updating document: \(err)")
} else {
print("Document successfully updated")
}
}
{
name: "sam",
things: {
two: "value"
}
}
数组操作终于得到了支持。现在,通过值(而不是索引)支持删除、添加等操作。: 目前,虽然我遇到了一些bug,但还是有一些bug
开发者博客>:(嗯,好吧,现在数组是非常无用的,因为它们无法更改……是的,现在它们不是非常有用,但这些只是测试版的限制,将来我们将更好地支持数组/数组查询。这必须是现在的答案。@Sampath是的,时间已经改变了,我现在做出了这个答案,这是公认的答案。欢迎使用Stack Overflow。虽然此代码可能会回答此问题,但提供有关此代码为什么和/或如何回答此问题的其他上下文将提高其长期价值。