[英]Query and algorithms using firestore db?
我目前正在尝试弄清楚如何匹配和/或比较 firestore 数据库中的数据。 假设我有 10 个苹果。 我的苹果是红色的。 我希望能够将我的颜色与其他 10 个苹果进行比较,然后仅与红色的苹果相匹配(有 2 个苹果是红色的)。 在使用 firestore 数据库作为所有苹果的主数据库时如何实现这一点?
Firebase Db 看起来像这样:
apple1 是红色的,应该与 apple5 匹配。 rest 与 colors 不同。当用户按下搜索按钮时,它应该过滤 firestore Db 并且只匹配足够的响应(在这种情况下 apple5 也是红色的)我怎样才能实现这个? 我是否需要使用第三方库来创建此算法,还是可以在 kotlin 中完成,因为据我了解,某些功能不适用于 firestore Db? 感谢任何反馈!
这是一个非常简单的查询,“获取字段颜色值为红色的文档”。 尝试:
db.collection("apples")
.whereEqualTo("color", "red")
.get()
.addOnSuccessListener { documents ->
for (document in documents) {
Log.d(TAG, "${document.id} => ${document.data}")
}
}
.addOnFailureListener { exception ->
Log.w(TAG, "Error getting documents: ", exception)
}
查看文档以获取 Firestore 支持的更多查询示例。
基本上,您可以使用Queries
来匹配特定条件并获取所有文档。
对于您的情况,您可以使用以下代码片段根据color
获取数据
try {
AsyncSnapshot<QuerySnapshot> data = firestore.collection("hubs")
.where("color", isEqualTo: "red")
.get();
final docs = data.data!.docs;
docs.forEach((e)=>{
//each firestore document
});
}
在 此处查找官方文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.