我有这个数据库的结构:
帖子
-> Key
-> PostId
-> PostName
-> PostDescription
-> PostDescription2
-> Location
-> Author
-> Date
-> Key
->
->
....
某种方式PostDescription
字段已在PostDescription2
中重复,我有这样的节点,我想从所有节点中删除PostDescription2
的所有条目。我怎样才能做到这一点 ?
我在google上进行了一些搜索,但大多数文章讲述了如何使用查询中的某些逻辑删除子节点或其中的字段。另外,我对firebase有点新鲜。
答案 0 :(得分:0)
您需要执行此功能。 (这样接缝)删除代码的样本可能看起来像是:posts
路径:
var dB = firebase.database();
var dBRef =dB.ref('posts');
dbRef.once('value', snpsht=>{
snpsht.forEach(dp =>{
var key = dp.key;
dB.ref('posts/' + key + '/PostDescription2').set(null);
})
})
这将删除设置值为PostDescription2
的所有null
字段。考虑发布路径不是一个大数据,以避免阻止代码。如果是这样,您可以使用limitToLast
选项获取数据,如:
var dBRef = dB.ref('posts').orderByChild('PostDescription2').limitToLast(1000);
此命令将按PostDescription2
对列表进行排序,并且首先指定子键的空值。我们用上面的代码从最后1000个项目中收集。