首页 > 解决方案 > 如何在 Firestore 集合中查询以字符串开头的字段

问题描述

如何搜索 afield以 some 开头的文档term

示例:查找以“foo”开头的所有文档因此someCollectionsomeField返回具有“foo”、“food”、“fools”的字段,但不会返回“fop”、“fopp”。

标签: flutterdartgoogle-cloud-firestore

解决方案


这是一个Java 答案的飞镖改编

final strFrontCode = term.substring(0, term.length - 1);
final strEndCode = term.characters.last;
final limit =
  strFrontCode + String.fromCharCode(strEndCode.codeUnitAt(0) + 1);

final snap = await FirebaseFirestore.instance
  .collection('someCollection')
  .where('someField', isGreaterThanOrEqualTo: term)
  .where('someField', isLessThan: limit)
  .get();

推荐阅读