javascript - Firebase update or set -
after adding post person firebase database, want add reference new post person. person may or may not exist.
i have:
var ref = new firebase("https://mydatabase.firebaseio.com/"); var _person = document.getelementbyid("person").value; var _remark = document.getelementbyid("remark").value; var postsref = ref.child("remarks"); var newpostref = postsref.push({ person: _person, remark: _remark }); var postid = newpostref.key(); var personref = ref.child("person"); personref.update({ _person: postid }); however creates node called _person in child person instead of value of _person variable. using set() overwrite existing person.
example: first node remarks/-jlkbxakpqs50w7r84gf created child node person/123456
after want create node person/123456 (only if doesn't exist) , add child node remark/-jlkbxakpqs50w7r84gf it. post-id automatically generated (firebase) person's id taken html form.
how do that?
depending on how data structured, before update, may able reference person want.
so, if data looks this:
{ "remarks" : { ... }, "person" : { "123456" : { "name" : "foo", ... "blah" : "bar" }, ... } } and document.getelementbyid("person").value gives 123456, can reference like:
var personref = ref.child("person").child(_person); then want see if exists, , if does, update it:
personref.once('value', function(snapshot) { if( snapshot.val() === null ) { /* not exist */ } else { snapshot.ref().update({"postid": postid}); } });
Comments
Post a Comment