Как добавить коллекцию в документ в Firestore? React Native - PullRequest
0 голосов
/ 18 апреля 2019

enter image description here

async componentDidMount() {

    firebase.firestore().collection('profiles').get().then(function(querySnapshot) {

        querySnapshot.forEach(function(doc) {

            var data = doc.data().pushToken; // I'm able to fetch pushToken here.

            const profileRef = firebase.firestore.doc(`profiles/0bT9eZ42CNN1uQYAE728WJht2aO2`)
                .collection('private').doc('pushToken');

            profileRef.set(data, {
                merge: true
            }).catch(e => console.error(e));

        });

    })
    .catch(function(error) {

        alert("error"); // My .then function throws an error and hence this alert works

        console.log("Error getting documents: ", error);
    });

}

Я хочу иметь возможность получить pushToken из каждого поля документа, а затем вставить в коллекцию в том же документе под именем private. Но это дает мне ошибку, говоря

Ошибка при получении документов: Ошибка типа: _reactNativeFirebase2.default.firestore.doc не является функцией

Как мне переместить pushToken в коллекцию? И я хочу сделать коллекцию внутри каждого документа автоматически, а не вручную.

1 Ответ

1 голос
/ 18 апреля 2019

Поскольку у вас уже есть DocumentSnapshot для документа, в котором вы хотите создать подколлекцию, вы можете создать CollectionReference и DocumentReference для нового документа из этого.

Примерно так должно работать:

const profileRef = doc.ref.collection('private').doc('pushToken');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...