list - Flutter & firesbase:我怎样才能做一个“只包含来自”的查询
问题描述
我是 Flutter 的新手,我正在尝试构建一个以 Cloud Firestore 作为后端的应用程序。
我有一个显示在屏幕上的数据库中的项目列表,用户选择他想要的项目。
然后我想显示我拥有的所有列表并包含用户选择的列表中的项目。(比如如果用户选择了 ['tree',''sky','flower','table'],并且在数据库中我有 ['tree','flower'] 和 ['tree',''sky' ,'flower','table'] 我想展示它们)。
我尝试使用arrayContainsAny,但它也向我显示了包含其他项目的列表,例如['tree','sky','orange']。
有什么办法吗?
伊迪丝:
如果用户列表选择是:['tree','orange','sky','flower']
在我的数据库中我有这些数组: ['flower','sky'] , ['tree','orange','sky','flower'] 和 ['sky','orange','computer']
那么我想要做的是只显示前 2 个数组(['flower','sky'] 和 ['tree','orange','sky','flower'])而不是最后一个,因为 'computer '不在用户列表中
arrayContains 的问题在于它显示了 3 个列表,这不是我想要的。
谢谢
解决方案
试试这个方法。当您从 firestore 数组中获取所有项目时,然后将其分配给一个列表并在您想要的任何地方使用它。
List<String> myList = [];
getdata() async{
await Firestore.instance.collection("points").document('biZV7cepFJA8T6FTcF08').get().then((value){
setState(() {
// first add the data to the Offset object
List.from(value.data['point']).forEach((myitems){
myList.add(myitems);
});
});
});
}
推荐阅读
- javascript - 问:Service Worker 在浏览器中工作,但不能作为 PWA
- javascript - 如何在 div 中加载外部 URL(文本)
- c# - 如何在正则表达式 c# 中匹配字符串格式
- android - BroadcastReceiver 未从 ACTION_BATTERY_CHANGED 更新
- php - 我可以在不使用 API 的情况下在 Wordpress 中创建盐键吗?
- javascript - 当元素在移动设备上上下滑动时,过渡是生涩的?
- git - 无法将提交推送到 GitHub 上新创建的存储库
- python - 查找数组中最小值的索引,其中相同的索引指向另一个数组中的零
- android - 每 1 秒更新片段中的 textview
- angular - AuthGuard 路由器角度