ホームページ  >  に質問  >  本文

snapshor.foreach() は Firebase Cloud Firestore v9 では呼び出されません

値 (タイムスタンプ) が 2 時間を経過したドキュメントを削除しようとしています。 onSnapshot() を呼び出す必要がありますが、 snapshot.foreach() を呼び出す必要はありません。 console.log で確認すると、Called1 はコンソールに表示されますが、Called2 は表示されません。なぜドキュメントを削除するために呼び出されないのか不思議です。

ああああ

P粉041758700P粉041758700264日前502

全員に返信(1)返信します

  • P粉300541798

    P粉3005417982024-01-30 00:29:26

    Cloud Firestore では、各フィールド値 は、その値に基づいてインデックス内で に並べ替えられます。特に、数値は、値インデックス内で Timestamp 値よりも前に並べ替えられます。 where("Date", "<",cutoffTimestamp) のクエリは、指定された数値より小さい Timestamp 値を検索しようとしているため、常に 0 の結果を返します。 。

    この問題を解決するには、Timestamp または Date 値を where() フィルターに渡す必要があります。 Date オブジェクトの使用を選択した場合、そのオブジェクトは SDK によって Timestamp オブジェクトに自動的にシリアル化されます。これにより、自分が使いやすいものを使用できるようになります。

    リーリー

    また、「入札 1」と「入札 2」を記録する代わりに、次のことを試してください:

    リーリー

    返事
    0
  • キャンセル返事