Javascript 如何将另一个子项添加到我的firebase集合?

Javascript 如何将另一个子项添加到我的firebase集合?,javascript,firebase-realtime-database,Javascript,Firebase Realtime Database,因此,我试图找到一个UserID为的用户,该用户的值与变量UserID的值相同,一旦找到,我想向我的集合中添加一个新的子对象。我不确定如何做到这一点,我已经尝试使用 var UserID = 123; var userEvent = firebase.database().ref('/users').orderByChild("id").equalTo(UserID).child('Events'); var eventsData = { testdata:

因此,我试图找到一个UserID为的用户,该用户的值与变量
UserID
的值相同,一旦找到,我想向我的集合中添加一个新的子对象。我不确定如何做到这一点,我已经尝试使用

var UserID = 123;

var userEvent  = firebase.database().ref('/users').orderByChild("id").equalTo(UserID).child('Events');

 var eventsData = {
    testdata: 99
 };

 
 userEvent.push(eventsData);
我已尝试了上述操作,但收到以下错误消息

Unhandled Rejection (TypeError): firebase_app__WEBPACK_IMPORTED_MODULE_22__.default.database(...).ref(...).orderByChild(...).equalTo(...).child is not a function
有什么具体的方法可以做到这一点吗

下面是该集合当前的用户数


错误指出ref有问题。我认为问题在于
EqualTo()
返回数组或对象,但我不是100%确定

我会将代码重新组织为:

var userEvent  = firebase.database().ref('/users/' + UserId).child('Events');

您应该能够推到该参考。

您可以添加事件子项的示例吗?因此,事件就是我要添加的子项。目前我的用户集合是has no child@Hoobsthanks,我将尝试这个。但是它如何知道如何查看数据库中的id字段呢?这就是我使用EqualTo()和orderbychild@Jim
6o1C…
用作对象键。Firebase DB基本上将所有内容存储为一个大JSON对象。正斜杠内的每个值都充当键,Firebase将沿着ref内URL指向的任何分支向下移动。因此,您实际上不需要
id
字段,但如果需要,您需要担心执行
Object.keys()
。。。这可能是一种痛苦。我不会太担心的。(至少在你掌握窍门的时候)干得好。工作得像个我能帮上忙的魔术师!我在Firebase上玩得很开心,但它与其他DB非常不同,它处理错误的方式可能非常无益,令人沮丧。我不得不花大量的时间来使用它。