Как проверить, существует ли конкретное поле в конкретном документе Firestore? - PullRequest
0 голосов
/ 17 октября 2018

Допустим, у меня есть документ.Я знаю его ID.Теперь я хочу знать, существует ли внутри этого документа конкретное поле или нет.А если нет, я хочу создать его.Возможно ли это?

PS: я не хочу ставить имя поля своим и ставить это значение как null.

1 Ответ

0 голосов
/ 20 октября 2018

Как проверить, существует ли определенное поле в конкретном документе пожарного депо?

Чтобы решить эту проблему, вы можете просто проверить на ничтожность, как это:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference docIdRef = rootRef.collection("yourCollection").document("yourDocumentId");
docIdRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                if (document.get("yourField") != null) {
                    Log.d(TAG, "your field exist");
                } else {
                    Log.d(TAG, "your field does not exist");
                    //Create the filed
                }
            }
        }
    }
});

Чтобы добавить новое конкретное поле в существующий документ, см. Мой ответ из этого сообщения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...