Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Ошибка: данные аргумента не являются допустимым документом. Входные данные - это не простой объект JavaScript

Автор вопроса: MiguelSlvОтветов: 4

Я получаю сообщение об ошибке

Ошибка: аргумент "данные" не является допустимым документом. Ввод - это не простой объект JavaScript.

при обновлении документа с помощью административного SDK firebase. Вот код машинописного текста.

var myDoc = new MyDoc();
myDoc.Public.Name = "Jonh Doe" //setup up content

admin.firestore()
     .collection('MyDocs')
     .doc("Id1")
     .set(myDoc);

firebasetypescriptgoogle-cloud-firestore

Ответы

Ответ 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) => {

})

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы