使用 Firestore/Angularfire2 或 Firestore SDK 查询集合中的内部对象 ID

Posted

技术标签:

【中文标题】使用 Firestore/Angularfire2 或 Firestore SDK 查询集合中的内部对象 ID【英文标题】:Query inner object id in a collection using Firestore/ Angularfire2 or Firestore SDK 【发布时间】:2018-06-27 07:59:57 【问题描述】:

你能告诉我如何查询budgets集合中budgetGroup对象的id吗?

我可以进行如下的基本查询。但是如何查询上面提到的内部对象?

provider.ts

 getSpecificBudget(id:string;budgetGroup: BudgetGroup, projectId: string): AngularFirestoreCollection<Budget> 
    return this.fireStore.collection<Budget>(`projects/$projectId/budgets`, ref => ref
      .where('id', '==', id)
    );
  

model.ts

export class Budget 
    id: string;
    amount: number;
    contingency: number = 20;
    budgetGroup: BudgetGroup = new BudgetGroup();
    creationTime: string;


export class BudgetGroup 
    id: string;
    name: string;
    creationTime: string;

火库:

【问题讨论】:

【参考方案1】:

这就是解决方案。我们可以简单地如下图所示。 .where('budgetGroup.id', '==', budgetGroup.id)

getSpecificBudgetGroupBudget(budgetGroup: BudgetGroup, projectId: string): AngularFirestoreCollection<Budget> 
    return this.fireStore.collection<Budget>(`projects/$projectId/budgets`, ref => ref
      .where('budgetGroup.id', '==', budgetGroup.id)
    );
   

【讨论】:

以上是关于使用 Firestore/Angularfire2 或 Firestore SDK 查询集合中的内部对象 ID的主要内容,如果未能解决你的问题,请参考以下文章

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份