使用案例:查找我参与的对话。
给定一组对话是否有办法在嵌套对象的属性上使用where exists
子句?我正在使用一个带有id的对象,因为它的关键是希望它可以运行在哪里查询。我应该将参与者字段放在数组中吗?
db.collection('conversations')
.where('participants.${userId}', 'exists', true)
.get()
.then(() => {
// ...
});
示例对话对象
{
id: 'foo'
participants: {
userIdA: {
username: 'bar'
},
userIdB: {
username: 'joe'
}
}
}
答案 0 :(得分:0)
假设您的示例会话对象是一个完整的示例,您只需将每个参与的userId设置为GM_setClipboard (journey_link, 'html');
,然后将您的查询设置为:
true
如果您需要了解有关特定用户的更多信息,例如他们的姓名,您可以在db.collection('conversations')
.where(`participants.${userId}`, ==, true)
.get()
.then(snapshot => {
// ...
});
集合中查找,因为您知道他们的ID是什么。
users