从使用 child_removed 更新的 firebase 数据库在节点服务器上创建一个动态数组

Create a dynamic array on a node server from the firebase database that updates with child_removed

我的目标是在 nodeJS 服务器上创建一个数组,该数组根据 firebase 实时数据库后端不断变化的数据不断更新。

一旦数据在数组中,我需要使用 MathJS 执行计算,然后将这个新值推送到我的 firebase 数据库中的一个单独位置。我能够最初使用 child_added 将我的节点服务器上的所有内容存储在一个数组中,执行我的计算,并将其推送到 firebase。当新的提交从客户端添加到数据库时,我也能够更新我的计算。

var db  = firebase.database();
// Event Reference
var specificEvent = db.ref('/posts/area/eventID')    


var sampleArray = [];
specificEvent.on("child_added", function(snapshot) {
var newPost = snapshot.val(); 

//push data to array
sampleArray.push(newPost.userSubmittedNumbers);

//calculation
console.log(math.mean(sampleArray));

我的问题是,当调用 child_removed 时,我无法跟踪要从数组中删除的特定项目。我考虑过将每个 post 作为 key/value 对使用 firebase 生成的密钥,但我相信对于 MathJS,所有内容都需要放在一个数组中。放弃 MathJS 并使用替代方案,还是仅使用代码是唯一的解决方案?

如有任何想法或建议,我们将不胜感激。谢谢!

如何存储您已经考虑过的 key/value 对,然后 - 假设您不介意另一个库 - 使用 Underscore's pluck() 将值放入一个数组中,您可以进行数学运算在?