我反对一个非常有趣的设计决定,我想更新表格数据库中的给定条目:https://imgur.com/QBLMIkU
到目前为止,我有类似的内容:
update(id : string, key : string, val : string ) : void {
const dbRef = firebaseAdmin.database().ref('datasets');
const entry = dbRef.child(id)
entry.once('value', snap => {
let content = snap.val()
if ( content && content[key] ){
entry.update({ key : val })
}
})
}
@use case: update('-LDc9Wa4Wj1wzEx5CsKN', 'content' 'new content loresum')
关键字是:entry.update({ key : val })
,而不是覆盖content
字段,代码正在创建一个包含密钥key
和值val
的新条目。如何仅更新content
字段而不重写整个数据条目?
答案 0 :(得分:0)
如果我正确理解了这个问题,那就是正在编写一个带有“key”键的新条目,它具有val参数的值。在那种情况下:
let newData = {};
newData[key] = val;
entry.update(newData);
基本上,你的entry.update({ key : val })
说“用'key'的键值更新记录,并使其等于传入的val参数”。由于您的数据中不存在该键,因此它会创建一个新的键值对,它等于“key:my New Value”