Я получаю сообщение об ошибке
Ошибка: аргумент "данные" не является допустимым документом. Ввод - это не простой объект JavaScript.
при обновлении документа с помощью административного SDK firebase. Вот код машинописного текста.
var myDoc = new MyDoc();
myDoc.Public.Name = "Jonh Doe" //setup up content
admin.firestore()
.collection('MyDocs')
.doc("Id1")
.set(myDoc);
Ответ 1 · рейтинг 5 · Chad Bingham
Я сделал нечто подобное:
var myDoc = <MyDoc> {
Public: {
Name: "Jonh Doe"
}
}
Это семантически то же самое, я просто думаю, что это немного чище.
Ответ 2 · рейтинг 5 · MiguelSlv
Если кто-то еще столкнется с той же проблемой, решение состоит в простом использовании Json для создания экземпляра объекта, например:
var myDoc = {
Public: {
Name: "Jonh Doe"
}
} as MyDoc; //keep type to still get typescript compiler validations
Ответ 3 · рейтинг 2 · Reza
У меня была такая же проблема, в моем случае я забыл добавить Content-Type:application/json в свой заголовок при отправке запроса, а затем объект был обработан как строка, и я получил эту ошибку.
Ответ 4 · Murat Çimen
Вы можете воссоздать объект js с помощью; {...__data}
return refDB.set({...__data}).then((newData) => {
})