Firebase Cloud Firestore хранит ссылку на документ как строку, а не как ссылку на объект - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть коллекция кемпингов, которые должны хранить ссылки на документы комментариев в виде массива ссылок на объекты. Я сделал это так:

try {
    commentRef.add(newComment).then(ref => {
        console.log("success COMMENT ADDED");
        var refForThisComment = ref.id;
        docRef.update({
            comments: firebase.firestore.FieldValue.arrayUnion(
                "/campgrounds/" + refForThisComment
            )
        });
        res.redirect("/campgrounds");
    });
} catch (error) {
    res.send(error);
}

Но в консоли, когда я проверяю массив ссылок на документы,строковый массив!

1 Ответ

0 голосов
/ 07 декабря 2018

Вы видите строковый массив, потому что вы передали строку в arrayUnion:

"/campgrounds/" + refForThisComment

Это не просто ссылка на документ.Конкатенация строк всегда создает строку в JavaScript.

Если вам нужна ссылка на документ, вместо этого передайте объект DocumentReference :

comments: firebase.firestore.FieldValue.arrayUnion(ref)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...