javascript - 在 Firebase 中创建带有评论的帖子
问题描述
我正在尝试找到使用 RTDB(不是 Firestore,因为该项目已经进行了一段时间)在 Firebase 中存储和检索带有评论的帖子列表的最佳方法。
有些人建议将用户名直接存储在帖子和帖子评论中,但我担心他们会在某些时候更改他们的信息。另外,我想显示更多信息(声誉、成员等)。
我的想法是查询每个用户并将对象存储在关联数组中。所以第一次出现UID 1234时,代码会检查数组,如果不存在,就会从数据库中查询。
users = {};
getUser( uid ){
return new Promise( (resolve, reject ) =>{
if( this.users && this.users[ uid ] ){
resolve( this.users[ uid ] );
} else {
this.angular.object('users/'+uid ).snapshotChanges().take(1).subscribe( data =>{
const user = data.payload.val();
if( user ){
this.users[ uid ] = user;
resolve( user );
} else {
reject();
}
});
}
});
}
如果一个页面上有 100 个用户和评论,我想知道这是否效率低下?对于像 Firebase 这样的东西来说,处理的查询太多了吗?
解决方案
推荐阅读
- sorting - 这个汇编代码是否按升序排序数字?
- jmeter - 取消应用程序中的活动不起作用-Jmeter
- c++ - 对于循环 C++ 可能效率低下
- sqlite - 如何在 Qt 应用程序中调试 SQLite 查询?
- javascript - 我正在尝试在 .io 游戏的 HTML5 画布上放置玩家的图像
- docker - Docker 容器端口在 Kubernetes 中发生冲突
- swift - iPhone WKWebView:loadData 不适用于类型(Excel、MSWord、PPT、RTF)它显示所有 ascii 字符
- keras - Keras-组合模型如何仅提取自动编码器上的部分
- python-3.x - 我导入了库并定义了获取文件 mp3 路径的函数,但是当我运行 librosa.load 时出现此错误
- reactjs - React Apollo 客户端查询抛出错误“提供给`Query`的`array`类型的无效prop`children`,预期`function`”