我有一个包含几百个对象的数组,每个对象(JSONified)看起来像:
{
"progress" : 0,
"sold" : false,
"frame" : 1,
"frameData" : {
"filename" : "file.ma",
"filepath" : "scenes/subscene",
"projectPath" : "/path/to/project",
"projectName" : "TRELCG",
},
"winningBid" : {
"bid" : 31536000,
"hostname" : "localhost"
}
}
进行花园式推送:
var base = new Firebase("https://bkvo9o89wxl.firebaseio-demo.com")
var ref = base.push(array);
ref.on("value", function(snap) {
var data = snap.val();
if (data!==null && Array.isArray(data)) console.log(snap.val().length);
}
on(“value”)回调从不触发。但是,如果相反,我会推送数组的较短/子集,例如
var subset = array.slice(0,50);
ref = base.push(subset);
这可以按预期工作,并且回调会触发。
如果我从对象中删除“frameData”属性,甚至更奇怪,例如
{
"progress" : 0,
"sold" : false,
"frame" : 1,
"winningBid" : {
"bid" : 31536000,
"hostname" : "localhost"
}
}
按下完整的数组,回调会像往常一样触发。
在过去的一年中,我在许多项目中使用过Firebase,并且完成了数千次这样的事情,在比这更大的阵列上,但这个真的让我感到难过。
我错过了什么,给出了什么?