由于斜杠字符,Firebase多path更新失败
我正在关注这个Firebase教程(多path更新): https : //www.firebase.com/docs/web/guide/saving-data.html#section-update
但是当我尝试运行时:
firebaseRef.update({ 'alanisawesome/nickname': 'Alan The Machine', 'gracehop/nickname': 'Amazing Grace' });
我得到:
Error: Firebase.update failed: First argument contains an invalid key (alanisawesome/nickname) . Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"
我需要指定path的“/”字符。 我的实现有什么问题?
谢谢
我已经从2.2.9版本更新到最新版本(2.3.2),并且这个问题不再发生。
我真的不知道为什么这应该很重要,但似乎(基于你链接的例子),就像你可能会使用错误的types的引号。 尝试用这个代替你的代码,用双引号而不是单引号:
firebaseRef.update({ "alanisawesome/nickname": "Alan The Machine", "gracehop/nickname": "Amazing Grace" });
Firebase javascript版本2.3.0中增加了深度path支持,您可以在更改日志中看到。 因此,您必须使用支持该function的Firebase版本才能使用该function。
使用等于或晚于2.3.0的版本。
感谢Androidparanoid的帮助我解决这个问题的答案,但是我觉得更简洁的解释会对后代有所帮助。