Я думаю, вы связываете параметры запроса с телом запроса. Запрос на исправление требует указать как поля, которые вы хотите обновить, так и новые значения, которые вы будете хранить; первые передаются через параметры запроса, а вторые передаются в теле запроса. В приведенном вами примере вы смешиваете их.
Согласно документации о патче поля для обновления должны быть переданы с DocumentMask формат и значения для них в формате Документ . Вы можете взглянуть на эти связанные темы post1 , post2 и проверить, насколько они отличаются от вашего примера. Кроме того, вы можете использовать API-обозреватель для создания запросов и проверки их формы.
С другой стороны, я рекомендую не использовать необработанные запросы http rest для взаимодействия с Firestore, поскольку есть доступные клиентские библиотеки. для node.js, которые являются более надежными и позволяют вам не заботиться о деталях формы. В частности, методы create и set будут выполнять sh ту же задачу с более дружественным синтаксисом. Следующий пример адаптирован из node.js Reference :
let documentRef = firestore.collection('collection').doc();
documentRef.create({MessageUID: MessageUID}).then((res) => {
console.log(`Document created at ${res.updateTime}`);
}).catch((err) => {
console.log(`Failed to create document: ${err}`);
});