Я заметил, что если я сделаю это, ошибка будет удалена для этой функции. ОДНАКО, если функция вызывается более одного раза в быстрой последовательности, я получаю эту ОШИБКУ: Firestore.settings () уже был вызван. Вы можете вызывать настройки () только один раз и только до ... и т. Д. Вот почему это не ответ. Надеюсь, мы сможем понять это вместе.

я недавно получил это предупреждение:

Поведение для объектов Date, хранящихся в Firestore, изменится, и ваше приложение может сломаться. Чтобы скрыть это предупреждение и убедиться, что ваше приложение не сломалось, вам необходимо добавить следующий код в свое приложение перед вызовом любых других методов Cloud Firestore:

const firestore = new Firestore();
const settings = {/* your settings... */ timestampsInSnapshots: true};
firestore.settings(settings);

С этим изменением метки времени, хранящиеся в Cloud Firestore, будут считываться как объекты временной метки Firebase, а не как объекты системной даты. Таким образом, вам также необходимо обновить код, ожидающий дату, а не метку времени. Например:

// Old:
const date = snapshot.get('created_at');
// New:
const timestamp = snapshot.get('created_at');
const date = timestamp.toDate();

Пожалуйста, проверьте все существующие использования Date, когда вы включаете новое поведение. В будущем выпуске поведение изменится на новое, поэтому, если вы не выполните эти шаги, ВАШЕ ПРИЛОЖЕНИЕ МОЖЕТ ПРЕРЫВАТЬ.

Я пытаюсь реализовать предложенное исправление в административном SDK в своем коде облачных функций, поскольку большая часть того, что я делаю, проходит через него.

Я пытался с помощьюadmin.firestore().settings({ timestampsInSnapshots: true }) но получил следующее предупреждение:

admin.firestore (...). настройки не являются функцией

Как мне это решить?

Ответы на вопрос(3)

Ваш ответ на вопрос