#firebase #google-api #google-cloud-firestore
#firebase #google-api #google-облако-firestore
Вопрос:
Я пытаюсь добавить один документ из Firestore API Explorer.
Это данные, которые я пытаюсь вставить:
POST https://firestore.googleapis.com/v1/projects/myProjetID/databases/(default)/documents/myCollection/2019/04?documentId=10amp;key={YOUR_API_KEY}
{
"fields": {
"field0": {
"referenceValue": "ref0"
}
}
}
У меня эта ошибка:
cache-control: private
content-encoding: gzip
content-length: 143
content-type: application/json; charset=UTF-8
date: Mon, 08 Apr 2019 09:24:09 GMT
server: ESF
vary: Origin, X-Origin, Referer
{
"error": {
"code": 400,
"message": "Resource name "ref0" lacks "projects" at index 0.",
"status": "INVALID_ARGUMENT"
}
}
Я не знаю, что не так.
Ответ №1:
Это потому, что с помощью "referenceValue"
вы пытаетесь записать значение поля типа Reference, см. https://firebase.google.com/docs/firestore/manage-data/data-types
Вам необходимо указать полный путь ссылки (т. Е. Полный путь к документу) следующим образом:
{
"fields": {
"name": {
"referenceValue": "projects/{myProjetID}/databases/(default)/documents/{collectionName}/{documentId}"
}
}
}
Он будет сохранен в базе данных как /{collectionName}/{documentId}
Ответ №2:
Для меня мне пришлось выполнить инструкцию экспорта FIRESTORE_EMULATOR_HOST
переменной, напечатанной при запуске эмулятора firestore.
Например,
export FIRESTORE_EMULATOR_HOST=[::1]:8647