我正在尝试从快照更新字段,但即使快照不为空且打印正确,我似乎也无法在其上使用 ref.update()
。我试着关注 this answer .我在这里错过了什么?
我的代码:
ref.limitToLast(1).on('child_added', function(snapshot) {
console.log(snapshot.val());
var serial_number = String(snapshot.child("serial").val()); //
console.log(serial_number);
snapshot.ref().update({ signed: 'true' });
// ...
}
输出:
最佳答案
问题是您引用的答案使用的是以前版本的 Firebase,虽然 API 非常接近当前版本,但还是有一些差异。
有一个guide讨论了从 Firebase 版本 2 和版本 3 升级时所做的更改以及需要做的事情。
尤其是 many no-argument getters have been changed to read-only properties :
BEFORE
// Reference var key = ref.key(); var rootRef = ref.root(); var parentRef = ref.parent(); // Query var queryRef = query.ref(); // DataSnapshot ref.on("value", function(snapshot) { var dataRef = snapshot.ref(); var dataKey = snapshot.key(); });
AFTER
// Reference var key = ref.key; var rootRef = ref.root; var parentRef = ref.parent; // Query var queryRef = query.ref; // DataSnapshot ref.on("value", function(snapshot) { var dataRef = snapshot.ref; var dataKey = snapshot.key; });
关于node.js - snapshot.ref 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40449757/