首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用火库和查询选择字段子集的NoSQL数据结构

使用火库和查询选择字段子集的NoSQL数据结构
EN

Stack Overflow用户
提问于 2016-09-20 22:23:44
回答 1查看 585关注 0票数 0

我正在使用Firebase创建一个NoSQL数据库,但因为我是一个SQL思想者,所以我需要一些关于Firebase查询和NoSQL数据结构的建议。

我正在为一个使用离子2 (AngularJS 2)的移动应用程序做一些实验,我关心的是速度(用户时间)和我的表的正确结构。

在应用程序中,我有一个列表,其中列出了用户已经创建的内容以及用户可能是某个组的一部分,现在,在对Firebase网站进行反规范化之后,我创建了此方案

代码语言:javascript
运行
复制
Users : {
   Id : {
       Name: string
       Picture: base64 56x56 pixels (image)
       Addresses : {}
       Groups : {
           Worker: boolean 
           Student: boolean
       }
   }
}

Groups : {
  Worker : {
    Desc: string
    Members : {
      Userid: boolean
    }
  }
  Student : {
    Desc: string
    Members : {
      Userid: boolean
    }
  }
}

Made : {
  Id : {
    Name: string
    Thumb: base64 56x56 pixels (image)
    Desc: string
    User: userid
    Images:  base64 dimensions could vary
  }
}

我要做的是显示一个用户制作的东西的列表,只需要很少的信息,比如名字和拇指图像,点击它就可以打开带有其他信息的描述。

现在,如果我使用以下代码片段来获取列表,它将返回所有信息,但在开始时,我只需要姓名和拇指(或其他内容)。

代码语言:javascript
运行
复制
return firebase.database().ref('/made/' + madeId)
.once('value').then(function(snapshot) {
  var username = snapshot.val().username;
  // ...
});

那么,在firebase中有没有办法像(?)这样做:

代码语言:javascript
运行
复制
SELECT name, thumb FROM Table_Made

以便只获取每个查询所需的字段?或

最好有另一个只包含名称和图像的表?

同时拥有拇指和图像是个好主意吗?以便加速json,因为拇指通常比图像小。

查看Firebase文档,似乎小于10mb的图像可以作为base64保存到文档中,以防存储空间更大。你对此有什么想法?

EN

回答 1

Stack Overflow用户

发布于 2016-09-20 22:58:58

Firebase客户端始终检索完整的节点。不可能只获取节点属性的一个子集。

像往常一样:如果您在数据模型上实现用例时遇到问题,请更改数据模型以适合您的用例。因此,在这种情况下,这意味着您可以将名称和缩略图拆分为一个单独的节点。

代码语言:javascript
运行
复制
MadeListinfo : {
  Id : {
    Name: string
    Thumb: base64 56x56 pixels (image)
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39596678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档