Я заметил, что если я сделаю это, ошибка будет удалена для этой функции. ОДНАКО, если функция вызывается более одного раза в быстрой последовательности, я получаю эту ОШИБКУ: 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 (...). настройки не являются функцией
Как мне это решить?