![](/img/trans.png)
[英]How do I copy a collection into another, as a sub collection? Angularfire/ Angular/ Firestore
[英]how to get a username in firestore from another collection with angularfire
如何使用angularfire從另一個集合中獲取firestore中的用戶名
我有 2 個 collections
-users
--username
--uid
和
-post
--title
--user_id
顯示所有帖子時如何獲取用戶名?
我只能返回 user_id
您沒有共享用於顯示所有帖子的現有代碼,因此很難提供要添加的確切代碼...
但是,基本上,您有兩種選擇:
在顯示post
之前,您對數據庫進行額外查詢以獲取username
的值,例如afs.collection('users', ref => ref.where('uid', '==', 'user_id))
(見https://github.com/angular/angularfire/blob/master/docs/firestore/querying-collections.md )
這意味着您顯示的每篇文章都需要額外閱讀
這是 NoSQL 世界中的經典方法:您以易於構建和執行查詢的方式對數據進行非規范化。
更具體地說,這意味着您的帖子集合將類似於:
-post
--title
--user_id
--username
但是,只有當您在編寫post
文檔時在前端具有username
的值時,這才有可能。 一種經典方法是通過currentuser
從當前用戶currentuser.displayname
獲取它。
這種方法的一個副作用是您需要保持值同步(即user
文檔中的值和post
文檔中的值)。 但是,在您的具體情況下,我們可能會假設用戶名不會經常更改......
您不應該害怕重復數據和非規范化您的數據 model。 這是關於 NoSQL 數據建模方法的“著名”帖子: https://highlyscalable.wordpress.com/nosql-data
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.