Добавление нового дочернего объекта к существующему объекту в firebase с использованием 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?


person Vinit Sarvade    schedule 20.01.2017    source источник


Ответы (1)


Вы можете использовать list для нажмите их по отдельности:

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

Или вы можете использовать object для обновите их вместе (в обновлении с несколькими местоположениями):

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);

Обратите внимание, что push-ключи генерируются на клиенте, и вы можете сгенерировать их, вызвав push без аргументов.

person cartant    schedule 20.01.2017