如何从Firestore Aray中删除元素?

时间:2019-07-19 11:53:57

标签: javascript firebase google-cloud-firestore

我想为用户添加或取消订阅Firebase中的事件存储。我成功放入新主菜,但未删除。

这是我的数据库的样子:

event => - name : party in Paris
         - date : 03/08/2019
         - description : awsome Party
         - registered
           [0]
             {
               userId : wxgqF324FDVsgsdf
               userName : toto
             }
           [1]
             {
               userId : dfhdghjyxfgjhx456jH
               userName : tata
             }

假设我要删除[0]中的用户,我无法成功到达该用户并从此地图中删除

unSubToEvent(eventId, userId) {
    return Firestore.collection('events')
      .doc(eventId)
      .update({
        registered: Firebase.firestore.FieldValue.arrayRemove(userId)
      })
 }

我想要

event => - name : party in Paris
         - date : 03/08/2019
         - description : awsome Party
         - registered
           [0]
             {
               userId : dfhdghjyxfgjhx456jH
               userName : tata
             }

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。

我没有传递正确的论点。我只通过了userId,但是您需要通过这对夫妇(userId + userName)。现在对我有用!

unSubToEvent(eventId, user) {
    return Firestore.collection('events')
      .doc(eventId)
      .update({
        registered: Firebase.firestore.FieldValue.arrayRemove(user)
      })
 }