![](/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.