在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'" });
任何想法将不胜感激.
user
传递给value
回调的变量实际上是一个快照 -而不是Firebase引用.所以没有固定的方法.
但是,通过调用.ref()可以在快照上使用ref:
Scope.child("users").child(queue.uid).on('value', function(user) { console.log(user.val()); // Works fine user.ref().set({id: 123}); // Yay! });