angular - 使用 angularfire2 将新的子对象添加到 firebase 中的现有对象

标签 angular firebase firebase-realtime-database angularfire2

我将用户数据存储在 firebase 中

users : {
    -KamJGmnL8S4Nn_okIcc : {
        name: "Someone",
        email: "example.com",
        website: "somesite.com"
    },
    -laeghmnw8S4Nn_9inb47 : {
        name: "Someone",
        email: "example.com",
        website: "somesite.com"
    }
}

我需要添加一个新对象 { collections: <key> : { ... }, <key>: { ... } }对于用户,例如上述对象中的第一个用户。我需要能够推送到 collections因为它可以有多个对象。

我如何使用 angularfire2 做到这一点?

最佳答案

您可以使用列表push他们分别:

const uid = "-KamJGmnL8S4Nn_okIcc";
const list = angularFire.database.list(`users/${uid}/collections`);
list.push({ name: "collection-a" });
list.push({ name: "collection-b" });

或者您可以使用对象update它们在一起(在多位置更新中):

const uid = "-KamJGmnL8S4Nn_okIcc";
const obj = angularFire.database.object(`users/${uid}`);

let collections = {
    `collections/${obj.$ref.push()}/name`: "collection-a",
    `collections/${obj.$ref.push()}/name`: "collection-b",
};
obj.update(collections);

请注意,推送 key 是在客户端生成的,您可以通过调用不带参数的 push 来生成推送 key 。

关于angular - 使用 angularfire2 将新的子对象添加到 firebase 中的现有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41761994/

相关文章:

ios - 从 Firebase (Swift 3) 检索和读取数据作为 NSArray

c# - 将 Firebase Admin SDK 添加到 Unity 项目

ios - 查询和 Firebase 中的位置(swift 3)

angular - 使用 Angular 过滤过滤 Angular Material 表中的特定列?

angularjs - 为什么 ngModel 向选择添加空白/空选项?

html - 如何为我的按钮设置字体大小限制

java - Android Firebase 。将数据添加到特定用户 Firebase 数据库

javascript - 使用 FireBase 在 Ionic 3 中获取带有列名称的值

android - 如何检测 Firebase 监听器是否已完成获取数据?

angular - 在 Angular 2 typescript 中打开页面加载时的 ng2bootstrap 模式