首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在EmberFire中查询子集合?

如何在EmberFire中查询子集合?
EN

Stack Overflow用户
提问于 2019-06-15 07:14:44
回答 1查看 143关注 0票数 0

我目前正在尝试使用EmberFire从FireStore获取数据。现在,我的集合是/users,其中存储了一个用户ID,在这个用户ID下,我创建了另一个子集合,其中包含一个名为/presets的数组。

我想使用EmberFire来检索当前登录用户的预设。我怎么才能告诉EmberFire呢?

我尝试使用EmberFire获取其他数据,它工作得很好。例如,从集合中获取文档工作得非常好,只是我从来没有使用子集合。这就是问题所在。

我想要实现的东西是

代码语言:javascript
复制
this.store.query('/users/pLvAT0TSbAjsnXoVmMF7yEG3mkW2/presets')

获取存储在(集合用户) -> (document pLvAT0TSbAjsnXoVmMF7yEG3mkW2) -> (集合预设)中的数据。

当然,我希望使用传统的工作流程将预设中的文档转换为视图。

现在,我只能处理单个集合。嵌套集合不是我能够使用的东西。

有没有人有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2019-07-15 00:35:26

一般的答案是:

代码语言:javascript
复制
this.store.find('users', 'pLvAT0TSbAjsnXoVmMF7yEG3mkW2').then((user)=>{
  return user.get('presets');
})

但它假设一些事情是“Ember的方式”完成的:

  1. User模型
  2. Preset模型
  3. <代码>D10和<代码>D11之间存在如下hasMany关系:<代码>H212<代码>G213

代码语言:javascript
复制
// app/models/user.js
import DS from 'ember-data';
const { Model, attr, hasMany } = DS;

export default Model.extend({
  presets: hasMany('preset', { subcollection: true })
});

尽管当前版本的Emberfire (v3-rc2)不能很好地使用子集合,但您可以获取记录,但不能创建或更新记录。

资料来源:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56606074

复制
相关文章

相似问题

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