数百のオブジェクトの配列があり、各オブジェクト (JSON 化) は次のようになります。
{
"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"
}
}
配列全体をプッシュすると、通常どおりコールバックが起動します。
私は過去 1 年間に多くのプロジェクトで Firebase を使用してきましたが、これよりもさらに大きな配列で、これとまったく同じことを何千回も行ってきましたが、これには本当に困惑しました。
私は何かを逃していますか、何が得られますか?