我正在尝试删除24小时以上的聊天记录。
为此,首先获取所有密钥,然后遍历这些密钥,然后像这样删除。
const rootRef = db.ref('chat');
rootRef.once('value', function (snapshot) {
snapshot.forEach(function (snap) {
const now = Date.now();
const CUT_OFF_TIME = 24 * 60 * 60 * 1000;
const cutoff = now - CUT_OFF_TIME;
const uid = snap.key;
const ref = db.ref('chat').child(uid);
const oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff);
const snapshot = oldItemsQuery.once('value').then(function (ds) {
const updates = {};
ds.forEach(child => {
updates[child.key] = null;
});
return ref.update(updates);
});
});
});
但是我不确定这是个好方法。
有人有更好的主意吗?