【问题标题】:Checks whether an object already exists or not firebase firestore检查对象是否已经存在 firebase firestore
【发布时间】:2021-05-02 10:31:33
【问题描述】:

我正在实现一个加票功能

我的数据库包括 User->uid->{name:abc,...., ticketSale:[{uidTicket:abcxyz, use: true //or false }]} Ticket->uidTicket->{nameTicket: qwer, ......}

用户将获取列表 Ticket(table Ticket) 并将它们添加到用户的 ArrayTicket 中

问题是检查用户的ArrayTicket中是否已经存在uidTicket?

我知道的下面的代码:

  firebase.firestore().collection("user").doc(Fire.shared.uid).update({ Ticket: firebase.firestore.FieldValue.arrayUnion(uid) }).then(() => {
      alert('Get success')
    });

如果ArrayTicket是Array uid,这段代码很有用,它可以检查uidTicket是否已经存在然后可以添加或不添加

但 myProblem 是 ArrayObject,我如何查看用户的 arrayTicket 中的 UID 票证?

【问题讨论】:

    标签: firebase react-native google-cloud-firestore


    【解决方案1】:

    我认为您正在寻找array-contains filter,它允许您检查Ticket 数组是否包含某个UID。

    【讨论】:

    • 它看起来像是在选择数据,对吧?我要说的是添加一个票证对象,并且只需检查一个对象的属性就是 uidTicket 以便能够像 arrayunion 一样添加或更新它。
    • 使用数组联合的整个目标是您不必检查数组中是否已经存在该项目。如果该项目尚不存在,Firestore 将添加该项目,如果该项目已存在,则不会添加它。
    猜你喜欢
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多