在 mongoDB 中查找包含给定子字符串的所有名称

Find all names in a mongoDB containing a given substring

您好,我正在使用 scala 和 play2-reactivemongo 版本 0.16.2-play26。 我希望能够对 json 集合执行搜索查询,其中将返回包含给定子字符串的所有名称。我遇到过将 $text 与索引一起使用,但我不确定如何在我使用的 reactivemongo 版本中进行设置。 $text 应该在我的代码中声明吗?

有没有用 Scala 编写的示例?

非常感谢

谢谢@cchantep :)

我设法用这段代码解决了这个问题:

def searchItem(name: String): Future[List[Item]] =
  jsonCollectionFuture.flatMap(
    _.find(Json.obj("name" -> Json.obj("$regex" -> (".*" + name + ".*"))), None)
      .cursor[Item](ReadPreference.Primary)
      .collect[List](-1, Cursor.FailOnError[List[Item]]())
  )

如果您需要 BSONDocument,请使用以下代码片段:

val query = BSONDocument("columnName" -> "tally")
collection.find(query,Option.empty[BSONDocument]).cursor[BSONDocument]().collect[List](-1,Cursor.FailOnError[List[BSONDocument]]())