gpt4 book ai didi

android - 如果其内容包含某些内容,如何查询数据库以获取子项?

转载 作者:行者123 更新时间:2023-11-29 02:42:27 24 4
gpt4 key购买 nike

我有一个看起来像这样的模式。如果 favoriteBy 包含我正在寻找的 UID,我希望数据库返回一个子项(post-ID)及其内容。这可能吗?

enter image description here

UID 由这个变量定义:

private final String UID = FirebaseAuth.getInstance().getCurrentUser().getUid();

作为引用,要获取用户发布的所有用户帖子,将使用此 Query 对象获取:

databaseReference.child("user-posts").child(UID).limitToFirst(100);

最佳答案

Firebase 并没有提供很多过滤工具来查询数据。因此,仅使用您当前的结构是不可能的。


在不更改当前帖子结构的情况下,我建议您做的是,每当用户将帖子设置为收藏时,您还可以更新 firebase 数据库的另一个分支,以便稍后可以轻松获取此数据。

因此您可以在收藏该帖子的 UID 下保存发帖人 ownerUID 和 postID。

favoritedPosts: {
UID: { //UID you are looking for
postOwnerUID: {
postID: true
}
}
}

然后你会很容易地得到最喜欢的帖子 postOwnerUIDpostID 像这样:

databaseReference.child('favoritedPosts').child(UID)

以上查询将返回一个包含postOwnerUIDs 及其postID 的对象,最后您可以迭代此对象以使用您现在拥有的ID 检索帖子内容。

databaseReference.child('user-posts').child(postOwnerUID).child(postID)

关于android - 如果其内容包含某些内容,如何查询数据库以获取子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43130784/

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