База данных Firestore: обновление отсутствующих документов

Я уже тестирую новый Firestore API, и у меня возникли проблемы с документацией и вызовом update.

Я пытаюсь обновить существующий документ и получаю сообщение об ошибке. Очевидно, это нормально, потому что в документации сказано, что вызов update завершится ошибкой, если DocumentReference не существует. Однако, читая официальную документацию, я вижу следующий блок код:

// Update the population, creating the document if it
// does not already exist.
db.collection("cities").document("Beijing").update(
        new UpdateOptions().createIfMissing(),
        "population",
        21500000);

Я пытаюсь повторить это, но не нахожу вызова UpdateOptions. Кроме того, проверка различных методов переопределения updateэто не конструктор для такого вызова.

Я использую 11.4.2 версию Firebase. Есть идеи о том, что происходит?


person Francisco Durdin Garcia    schedule 04.10.2017    source источник


Ответы (1)


API Firestore изменился непосредственно перед запуском бета-версии, и UpdateOptions больше не существует. Если вы хотите объединить поля в документ, который может существовать или не существовать, используйте set, например:

Map<String, Object> data = new HashMap<>();
data.put("population", 21500000);

db.collection("cities").document("Beijing")
    .set(data, SetOptions.merge());

К сожалению, наша переведенная документация в настоящее время устарела, пожалуйста, пока обратитесь к английской версии.

person Gil Gilbert    schedule 04.10.2017