Я пытаюсь добавить новый документ и коллекцию в свою базу данных. Я знаю, что могу просто добавить документ, и если коллекция, в которой он должен быть, будет добавлена, если она не существует. Мой вопрос: как я могу добавить пустой документ в новую коллекцию в моей базе данных?
Я пробовал этот код с сайта разработчиков Android:
ApiFuture<WriteResult> future = db.collection("cities").document("LA");
// ...
// future.get() blocks on response
System.out.println("Update time : " + future.get().getUpdateTime());
Но это дает мне ошибку в части ApiFuture, которую я не могу решить. Итак, я попробовал это:
db.collection(mail).document("tarefa");
(почта - это строка) Но это не работает. Кто-нибудь знает, что мне делать?
db.collection("cities").document("LA")
создает только ссылку на документ. Он еще не записывает никаких данных.
Вероятно, это самый короткий способ написать пустой документ:
db.collection("cities").document("LA").set(new HashMap<String, Object>())
Если это не сработает, update
обязательно сработает:
db.collection("cities").document("BJ")
.set(new HashMap<String, Object>(), SetOptions.merge());
Рад слышать. Я обновил первый фрагмент в своем ответе. Я не уверен, почему второй не сработает. :-/
Поэтому я адаптировал ответ Фрэнка ван Паффелена, и он решил мою проблему. Вот как я это сделал:
db.collection(mail).document("tarefa").set(new HashMap<String, Object>());
Большое спасибо, @FranfvanPuffelen. Мне действительно пришлось объединить два варианта, которые вы мне дали. В первом была ошибка (видимо, я не могу присвоить документу нулевое значение), но когда я сделал второй, он просто не работал. Поэтому я использовал первый, но с новым HashMap. Как вы можете видеть в моем ответе. Большое спасибо!