当我的应用程序启动时,我会对 Firebase 进行初始提取以提取所有数据。当我稍后将数据添加到 Firebase 时,我只希望它获取已添加的新子项。
我目前正在实现这样的目标。有没有更好的方法或内置方法可以在 Firebase 中执行此操作?
let initialFetch = false;
ref.once('value', snap => {
// get all child data
initialFetch = true;
});
ref.on('child_added', (snap) => {
if (!initialFetch) return;
// get new child data
});
感谢任何帮助。提前致谢!
最佳答案
如果您同时需要新数据和后续数据,请使用
child_added
。它将立即为所有现有子级触发,随后为添加的任何子级触发。如果您只需要新数据,请为您的子项添加时间戳,并
<ref.orderByChild('timestamp').startAt(Date.now())
如果您同时需要新数据和后续数据,但希望以不同方式对待初始子项:使用
child_added
和value
就像你现在所做的那样。
另请参阅:How to only get new data without existing data from a Firebase?
关于javascript - Firebase:添加新子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39549890/