我可以在firestore中使用`exists` where子句吗?

时间:2018-05-17 17:37:52

标签: javascript google-cloud-firestore

使用案例:查找我参与的对话。

给定一组对话是否有办法在嵌套对象的属性上使用where exists子句?我正在使用一个带有id的对象,因为它的关键是希望它可以运行在哪里查询。我应该将参与者字段放在数组中吗?

 db.collection('conversations')
            .where('participants.${userId}', 'exists', true)
            .get()
            .then(() => {
                // ...
            });

示例对话对象

{ 
  id: 'foo'
  participants: { 
    userIdA: {
       username: 'bar'
    },
    userIdB: {
       username: 'joe'
    }
  }
}

1 个答案:

答案 0 :(得分:0)

假设您的示例会话对象是一个完整的示例,您只需将每个参与的userId设置为GM_setClipboard (journey_link, 'html'); ,然后将您的查询设置为:

true

如果您需要了解有关特定用户的更多信息,例如他们的姓名,您可以在db.collection('conversations') .where(`participants.${userId}`, ==, true) .get() .then(snapshot => { // ... }); 集合中查找,因为您知道他们的ID是什么。

users