2015-04-05 12 views
6

'daki bir dizide anahtar adı nasıl ayarlanır Angularfire kullanarak diziler oluşturuyorum ancak anahtar adını ayarlayamıyorum. Firebase bana otomatik olarak şifreli bir anahtar veriyor (örn. Jm9vLy8Lye-KS35KsmL) ancak kendimi daha anlamlı bir şeye ayarlamak istiyorum. Angularfire'da bunu nasıl yaptığım belli değil.Angularfire

var firebaseRef = new Firebase("https://firebase_location"); 
$scope.messages = $firebaseArray(firebaseRef); 

$scope.messages.$add( 
    { 
    FirstName: patient.FirstName, 
    LastName: patient.LastName 
    } 
).then(function(firebaseRef) { 
    var id = firebaseRef.key(); 
}); 

veri ince saklanır ve benim gösterge tablosunda görebilirsiniz: Ben $ firebaseArray üzerinde $ eklenti yöntemini kullanıyorum. Ancak, kimlik her zaman şifreli bir firebase değeridir. Kendimi anlamlı bir şeye ayarlayabilmeyi çok isterim. Benim durumumda bireysel hastanın kimliği anlamlı olacaktır ...

Herhangi bir düşünce?

Teşekkür ederiz!

cevap

0

Firebase dizisine bir öğe eklemek, firebase'in sizin için benzersiz bir kimlik tanımlamasını sağlar. İstediğiniz şey bu değilse, sadece $ firebaseArb ile listeyi almak yerine "message" nesnesini $ firebaseObject ile elde etmeyi deneyebilirsiniz. Daha sonra öğelerinizi mesaj koleksiyonuna eklemek için nesneyi js biçiminde düzenleyebileceksiniz. Bu sayede ihtiyaçlarınızı en iyi karşılayan kimliği kullanabilirsiniz. Son olarak, tüm nesneyi $() kaydedin. Bakın: https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebaseobject

Bu yardımcı olur umarım.

1

Yanıt için teşekkürler.

Çocuk fonksiyonunun ihtiyacım olanı yapacağını buldum. Önce çocuğu belirledikten sonra ayarlıyorum.

var patient_child = firebaseScreenRef.child(patient.PatientId); 
     patient_child.set(
     { 
      FirstName: patient.FirstName, 
      LastName: patient.LastName, 
     }); 
+0

Bu yardımcı oldu! İlk olarak hem $ firebaseObject hem de $ firebaseArray'i kullanmayı denedim, ancak sadece ref çalıştı - ref'yi doğrudan kullanmanız gerekiyor ... –

+0

Bunu anlamak için biraz zaman harcadım ama işe yarıyor. Teşekkürler ! –

0

Sorunuz için bir açıklama buldum. Sen firebaseObject kullanmak gerekmez, sen ref doğrudan kullanmalısınız:

var ref = new Firebase(FURL); 

createProfile: function(id ,user) { 

    var profile = {`enter code here` 
       name: user.name, 
       email: user.email, 
       gravatar: get_gravatar(user.email, 40) 
      }; 

    var profileRef = $firebaseArray(ref.child('profile').child(id)); 

    return ref.child('profile').child(id).set(profile); 
}, 

kodunda, benim URL'sini referans için ref kullanın. ProfileRef ile bir çocuk profili oluşturdum ve profil için kimliğimi ekledim. Daha sonra, istediğim kimlik için profile değerini ayarlamak için doğrudan ref kullanın. Gördün mü, çok kolay.

İlgili konular