Firebase setWithPriority导致Firebase.update失败

问题描述:

我试图使用给定的优先级将数据写入Firebase数据库,以便然后以与当前相反的顺序检索孩子。以下我从answer of another question关于这个问题:Firebase setWithPriority导致Firebase.update失败

var postData = { 
    url: urlvar 
    }; 

    // Get a key for a new Post. 
    var newPostKey = firebase.database().ref().push();//.key; 
    newPostKey.setWithPriority(postData, 0 - Date.now()); 

    var updates = {}; 

    updates['/user-posts/' + uid + '/' + '/urls/' + newPostKey] = postData; 

    return firebase.database().ref().update(updates); 

然而,试图触发这个时候,我发现了(从弹出的扩展控制台):

Error: Firebase.update failed: First argument contains an invalid key

哪个参数是由这意味着,究竟什么是错在这里?

什么没有工作,之前我试图设置优先级,高于简单的代码,但newPostKey附着的关键:

var newPostKey = firebase.database().ref().push().key; 

试图围绕不同的方法后,我发现a solution在那里我可以只添加优先于postData,然后将其写入DB:

var postData = { 
    url: urlvar, 
    ".priority": 0 - Date.now() 
    }; 

    var newPostKey = firebase.database().ref().push().key; 
+1

请注意(尽管仍然有效并且未被弃用),没有理由对此使用优先级。添加一个名为'invertedData'的属性可以实现同样的效果,并获得更明确的数据结构('.priority'对大多数视图/值是隐藏的)。 –