相关疑难解决方法(0)

通过使用查询而不是反复观察单个事件,加快为我的社交网络应用程序提取帖子

我有一系列的键导致我的社交网络的帖子对象像/ posts/id /(发布信息)

当我加载帖子时,我使用observeSingleEventOfType(.Value)方法加载/发布/ 0然后/ posts/1等.

我使用lazyTableView一次加载30并且速度很慢.有没有什么方法可以使用其中一种查询方法或其他方法使其更快,即使我必须重构我的JSON树中的数据.

我来自Parse重新实现我的应用程序,到目前为止,经验非常好.只有这一点我有点坚持.在此先感谢您的帮助!

编辑:

func loadNext(i: Int) { 

    // check if exhists
    let ideaPostsRef = Firebase(url: "https://APPURL")

    ideaPostsRef.childByAppendingPath(i.description).observeSingleEventOfType(.Value, withBlock: {
        (snapshot) in

        if i % 29 == 0 && i != 0 && !self.hitNull { return }
            // false if nil
            // true if not nil
        if !(snapshot.value is NSNull) {
            let postJSON  = snapshot.value as! [String: AnyObject]
            print("GOT VALID \(postJSON)")
            let post = IdeaPost(message: postJSON["message"] as! String, byUser: postJSON["user"] as! String, withId: i.description)
            post.upvotes …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift

88
推荐指数
1
解决办法
2万
查看次数

如何在Firebase中编写非规范化数据

我已经阅读了有关Stucturing Data的Firebase文档.数据存储很便宜,但用户的时间不是.我们应该优化get操作,并在多个地方写.

那么我可能会存储一个列表节点和一个列表索引节点,两者之间有一些重复的数据,至少是列表名称.

我正在使用ES6并在我的javascript应用程序中承诺处理异步流,主要是在第一次数据推送后从firebase获取ref密钥.

let addIndexPromise = new Promise( (resolve, reject) => {
    let newRef = ref.child('list-index').push(newItem);
    resolve( newRef.key()); // ignore reject() for brevity
});
addIndexPromise.then( key => {
   ref.child('list').child(key).set(newItem);
 });
Run Code Online (Sandbox Code Playgroud)

我知道我的应用程序只在客户端上运行,如何确保数据在所有地方保持同步

为了进行健全性检查,我在我的承诺中设置了一个setTimeout,并在解决之前关闭了我的浏览器,实际上我的数据库不再一致,保存了一个没有相应列表额外索引.

有什么建议?

javascript nosql web firebase firebase-realtime-database

31
推荐指数
2
解决办法
4719
查看次数

Facebook 类型社交网络的 NoSQL 数据库结构

对于 Facebook 类型的社交网络应用程序,需要一个高性能的数据库结构,用于在 Firebase(Cloud Firestore) (NoSQL) 中存储数据。

要存储的数据:

 - Userinfo (name, email etc)
 - Friends
 - Posts
 - Comments on posts.
Run Code Online (Sandbox Code Playgroud)

我对以下两个关于查询性能的数据库结构感到困惑(如果数据库变得巨大)。

(参考:C_xxx 是收藏,D_xxx 是文档)

结构 1

C_AllData
    - D_UserID-1
        name: xxxx,
        email: yyy,
        friends: [UserID-3, UserID-4]
        - C_Posts
            - D_PostId-1
                Text: hhh
                Date: zzz
                - C_Comments
                    - D_CommentId-1
                        UserID: 3
                        Text: kkk
                    - D_CommentId-2
                        UserID: 4
                        Text: kkk
            - D_PostId-2
                Text: hhh
                Date: zzz
                - C_Comments
                    - D_CommentId-3
                        UserID: 3
                        Text: kkk
                    - D_CommentId-4
                        UserID: 4
                        Text: kkk
    - …
Run Code Online (Sandbox Code Playgroud)

database mongodb nosql firebase google-cloud-firestore

5
推荐指数
1
解决办法
5790
查看次数