目前我使用的是:
this.af.database.list('users').push(user);如何使提交的对象的key成为自定义对象。因此,我希望能够将此对象的节点设置为与注册用户相同的uid。我有权访问这个Id,我只需要知道如何使自定义用户对象节点在推送时不是自动生成的id。
谢谢
发布于 2017-07-26 00:27:21
传入您的自定义密钥,在本例中为projectKey,它是您从某个位置填充的变量:
private whatEverName(projectKey) {
this.projectKey = projectKey;
this.af.object('/Projects/' + this.projectKey);
}在代码中的某个地方调用whatEverName(projectKey),您就有了一个自定义的节点键。此建议截至2017年7月25日有效。
我在这里添加了更多,以帮助那些试图创建一个子节点的人使用另一个推键作为自定义键来创建一个子节点。这对于该项目下的关联索引非常有用,例如在该项目上工作的用户列表。您可能不想在项目数据中包含此列表,但可以通过查询来获取它。这使得数据的非正规化变得更容易,并且拥有更扁平的架构,Firebase的目标。
在本例中,该关联节点名为ProjectsMembers,我们在其中记录了项目的所有者。以同样的方式添加其他用户节点。注意的反引号!单引号不起作用。在本例中,我设置了一个所有者名称作为对按键的引用。更容易在数据库中读取。
// Add child node with project key as push key to the association index.
this.af.object(`ProjectsMembers/${projectKey}/` + this.ownerKey)
.set({ ownerName: this.ownerName });https://stackoverflow.com/questions/40524525
复制相似问题