如何在 ReactiveMongo 中使用 where 运算符?

How to use where operator in ReactiveMongo?

我正在尝试使用 reactiveMongo 中的 where 运算符来实现对数字和文本字段使用相同的 API 的全文搜索。但是我无法在 reactive mongo.

中获得正确的语法

我已经按照 mongoDocument "https://www.tutorialspoint.com/mongodb-regex-search-on-integer-value" 搜索文本和整数,其中 operator.But 无法在 reactiveMongo 中实现。

collection.find(BSONDocument("$where" -> BSONDocument("$regex" -> "/^columns.*/i.test(this.columns)".r.pattern.pattern())))
     .skip(offset).cursor[M]()
     .collect[List](num,Cursor.FailOnError[List[M]]())

其中 M 是任意大小写 class

但我遇到了异常:-

DatabaseException['$where got bad type' (code = 2)]

使用 where 运算符的正确语法如下 shell 只需传递字符串

collection.find(BSONDocument("$where" -> "/^r.*/i.test(this.name)"))
  .skip(offset).cursor[M]()
 .collect[List](num,Cursor.FailOnError[List[M]]())