在我的EmberFire应用程序中,URL如下所示:
http://example.com/friends/-Jaxji0depwt4PE8KnFG
有没有办法在Firebase中自定义唯一ID,如下所示:
http://example.com/friends/1
http://example.com/friends/2
http://example.com/friends/3
答案 0 :(得分:2)
当我们push数据时,会生成firebase中的唯一ID。
示例:
var messageListRef = new Firebase('https://samplechat.firebaseio.com/friends');
var newMessageRef = messageListRef.push();
newMessageRef.set({ 'name': 'fred', 'email': 'fred@yh.com' });
// We've appended a new message to the message_list location.
var path = newMessageRef.toString();
// path will be something like
// 'https://samplechat.firebaseio.com/friends/-IKo28nwJLH0Nc5XeFmj'
相反,我们可以直接为孩子分配值
示例:
var friendcount = 1;
var myFirebaseRef = new Firebase("https://samplechat.firebaseio.com/friends");
myFirebaseRef.child(""+friendcount).set({'name':'f'+friendcount,'email':'e'+friendcount+'@yh.com'});
friendcount = 2;
myFirebaseRef.child(""+friendcount).set({'name':'f'+friendcount,'email':'e'+friendcount+'@yh.com'});
friendcount = 3;
myFirebaseRef.child(""+friendcount).set({'name':'f'+friendcount,'email':'e'+friendcount+'@yh.com'});
所以,答案是直接在子
中使用该值myFirebaseRef.child(1).set({'name':'f1'});
myFirebaseRef.child(2).set({'name':'f2'});
myFirebaseRef.child(3).set({'name':'f3'});