2

数百のオブジェクトの配列があり、各オブジェクト (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 を使用してきましたが、これよりもさらに大きな配列で、これとまったく同じことを何千回も行ってきましたが、これには本当に困惑しました。

私は何かを逃していますか、何が得られますか?

4

0 に答える 0