我正在使用 Google 的 Firestore,并且我正在尝试删除子集合中超过一年的所有文档。这是当前的结构:
data:
domain1.com:
entries:
1:
created_at: 1507052341
2:
created_at: 1607052341
domain2.com:
entries:
1:
created_at: 1607052341
domain3.com:
entries:
1:
created_at: 1607052341
2:
created_at: 1507052341
3:
created_at: 1507052341
这是我到目前为止所做的尝试查找超过一年的条目,但它没有按预期工作并且快照总是返回为空:
let a_year_ago = Math.floor(Date.now() / 1000) - 31536000
this.db.collection("data/*/entries")
.where('created_at', '<', a_year_ago)
.get()
.then(snapshot => {
if (snapshot.empty) {
return false
}
return snapshot
})
你们对我如何检索这些超过一年的条目并删除它们有任何想法或建议吗?
提前致谢!!
答案 0 :(得分:0)
我能够弄清楚。首先,我必须用我要搜索的字段创建一个新索引,然后更新代码以通过该索引搜索信息。
打开 Firestore。
转到“索引”>“单个字段”>“添加豁免”。
填写豁免详情:
entries
created_at
let a_year_ago = Math.floor(Date.now() / 1000) - 31536000
this.db.collectionGroup('entries')
.where('created_at', '<', a_year_ago)
.get()
.then(snapshot => {
if (snapshot.empty) {
return false
}
return snapshot
})
轰隆隆!