gpt4 book ai didi

ios - FIR 数据库查询 : how to do an inner join

转载 作者:可可西里 更新时间:2023-11-01 17:04:31 28 4
gpt4 key购买 nike

我正在尝试对 FIRDatabaseQuery 对象执行内部联接。

下面是数据库结构。我有一些链接到帖子评论的帖子。我正在尝试获取特定用户添加评论的所有帖子:

 {
"posts" : {
"-KIycKhZU55dmKnHbbxv" : {
"author" : "John Doe",
"body" : "This is a post test",
"title" : "test",
"uid" : "SHaH36BLwgPvwgi9cDmRnsnONFB2"
},
"-KIyg_ks1O5QL4_4dfq_" : {
"author" : "Jane Doe",
"body" : "This is a post test",
"title" : "test2",
"uid" : "x5leSBGArnd10JilD9YDyNBNfZ03"
},...
}
"post-comments" : {
"-KIycKhZU55dmKnHbbxv" : {
"-KIycMyL0Vy1BHVdI4zc" : {
"author" : "toto",
"text" : "test",
"uid" : "SHaH36BLwgPvwgi9cDmRnsnONFB2"
},
"-KIyg_ks1O5QL4_4dfq_" : {
"author" : "toto",
"text" : "test",
"uid" : "SHaH36BLwgPvwgi9cDmRnsnONFB2"
}
},...
}

在 SQL 中,这将被翻译成类似于以下的内部连接查询:

Select * from post inner join post-comments on post-id where post-comments.uid = "user id"

有人知道如何在 firebase 中获得类似于内部连接的东西吗?

非常感谢,亚辛

最佳答案

你可能要考虑

"posts" : {
"-KIycKhZU55dmKnHbbxv" : {
"author" : "John Doe",
"body" : "This is a post test",
"title" : "test",
"uid" : "SHaH36BLwgPvwgi9cDmRnsnONFB2"
"commented_by"
"SHaH36BLwgPvwgi9cDmRnsnONFB2": true

然后你可以简单地查询

posts.child("commented_by/uid").queryEqualToValue(true)

或者,更改后置评论以更好地匹配您要执行的查询:

"post-comments" : {
"-KIycMyL0Vy1BHVdI4zc" : {
"author" : "toto",
"post_data":
post_id: "-KIycKhZU55dmKnHbbxv",
post_title: "test"
"text" : "test",
"uid" : "SHaH36BLwgPvwgi9cDmRnsnONFB2"
},

这使得查询变得轻而易举,因为可以查询 post-comments 节点的 uid,该 uid 返回他们评论过的帖子的所有 post_id。它不会返回帖子本身,但是,您可能只是在寻找标题以便填充列表。一旦用户点击它,您就可以检索实际数据。

关于ios - FIR 数据库查询 : how to do an inner join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38033464/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com