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