値 (タイムスタンプ) が 2 時間を経過したドキュメントを削除しようとしています。 onSnapshot() を呼び出す必要がありますが、 snapshot.foreach() を呼び出す必要はありません。 console.log で確認すると、Called1 はコンソールに表示されますが、Called2 は表示されません。なぜドキュメントを削除するために呼び出されないのか不思議です。
ああああP粉3005417982024-01-30 00:29:26
Cloud Firestore では、各フィールド値 は、その値に基づいてインデックス内で に並べ替えられます。特に、数値は、値インデックス内で Timestamp
値よりも前に並べ替えられます。 where("Date", "<",cutoffTimestamp)
のクエリは、指定された数値より小さい Timestamp
値を検索しようとしているため、常に 0 の結果を返します。 。
この問題を解決するには、Timestamp
または Date
値を where()
フィルターに渡す必要があります。 Date
オブジェクトの使用を選択した場合、そのオブジェクトは SDK によって Timestamp オブジェクトに自動的にシリアル化されます。これにより、自分が使いやすいものを使用できるようになります。
また、「入札 1」と「入札 2」を記録する代わりに、次のことを試してください:
リーリー