【发布时间】:2020-12-18 19:10:17
【问题描述】:
所以我在我的 Cloud Firestore 中有一组食谱,其中包含具有不同食谱的文档(带有随意的 id)。每个文档都有一个包含配方名称和配方持续时间的 2 个字段。 每个文档还有一个名为 LikedBy 的集合,其中的文档具有用户 id 作为 id,并且有一个带有日期的字段。 现在我想返回所有在他们的 likeBy 子集合中包含用户 ID 的食谱。 我将仅使用基本代码编写我尝试过的内容。
String userId= 'uiuu4fn3fff4fu';
Scaffold(
body:StreamBuilder(
stream: THE STREAM THAT I NEED,
builder:(context,snapshot){
return ListView.builder(
itemCount: snapshot.data.documents.length
itemBuilder:(context,index){
return Column(children:[
Text(snapshot.data.documents[index]['recipeName']),
Text(snapshot.data.documents[index][recipeDuration]),]) } ) } ) )
我想要的是仅返回其 likeBy 子集合中具有特定用户 uid 的文档。
我已经尝试过这个流
Firestore.instance.collection('recipes').parent().collection('likedBy').where(FieldPath.documentId,
isEqualTo,userId).snapshots()
但它不起作用,我不知道我还能尝试什么。 非常感谢任何帮助。
项目不应该由用户添加,而是由管理员添加,这意味着会有一个由管理员添加的项目列表和一个可以将它们添加到收藏夹中的用户列表,我想要实现的是用户可以看到所有他们最喜欢的,按他们保存的顺序排列。需要明确的是,我想要 Instagram 功能之类的东西来保存帖子。
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore