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

时间:2019-10-04 12:11:59

标签: scala reactivemongo

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

我遵循mongoDocument“ https://www.tutorialspoint.com/mongodb-regex-search-on-integer-value”使用where运算符搜索文本和Integer。但是无法在reactMongo中实现。

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是任何案例类

但是我遇到了例外:-

  

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

1 个答案:

答案 0 :(得分:0)

使用where运算符的正确语法如下,就像shell只是传递字符串

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