在Firebase中创建节点应用,并且在“设置”值时遇到很多麻烦。我有一种潜在的怀疑,这与权限或其他东西有关(我没有设置我自己的任何读/写权限),但不确定。以下简化代码:
var Firebase = require("firebase");
var Scope = new Firebase('https://my-firebase.firebaseio.com/');
Scope.child("users").child(queue.uid).on('value', function(user) {
console.log(user.val()); // Works fine
user.set({id: 123}); // Fails, "Object has no method 'set'"
});
非常感谢任何想法。
答案 0 :(得分:5)
传递到user
回调的value
变量实际上是snapshot - 而不是Firebase ref。所以没有固定的方法。
但是,通过调用.ref():
可以在快照上使用refScope.child("users").child(queue.uid).on('value', function(user) {
console.log(user.val()); // Works fine
user.ref().set({id: 123}); // Yay!
});