2017-01-20 3 views
2

я данные пользователей хранятся в firebase, какДобавление нового дочернего объекта к существующему объекту в firebase с помощью angularfire2

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?

ответ

2

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

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

Или вы могли бы использовать object к 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); 

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

Смежные вопросы