由于斜杠字符,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的帮助我解决这个问题的答案,但是我觉得更简洁的解释会对后代有所帮助。