反应性 Mongo 扩展:使用“查询 DSL”在 $in 查询中传递值列表
Reactive Mongo Extensions: Pass List Of Values In $in Query using `Query DSL`
我正在尝试使用 Query DSL
和 Reactive Mongo 扩展在 $in
查询中传递倍数值。但结果是空列表。以下是我的代码:
def findUsersByRolesIds(rolesIds: List[BSONObjectID], page: Int, pageSize: Int): Future[List[User]] = {
logger.info("findUsersByRolesIds Reactive Repository Method");
userGenericRepo.find($doc("userRoles._id" $in (rolesIds)), $doc("createdOn" -> -1 ), page, pageSize);
}
当我尝试执行上面的代码时,结果是空的。
但是当我通过时,下面的代码结果是 return。
def findUsersByRolesIds(rolesIds: List[BSONObjectID], page: Int, pageSize: Int): Future[List[User]] = {
logger.info("findUsersByRolesIds Reactive Repository Method");
userGenericRepo.find($doc("userRoles._id" $in (BSONObjectID.apply("5548b098b964e7039852ff58"))), $doc("createdOn" -> -1 ), page, pageSize);
}
主要问题是,我有多个值,所以这就是我创建列表但此处列表不起作用的原因。使用 reactive mongo extenstions
和 Query DSL
如何实现此查询。
$in 需要可变参数,即 val dsl: BSONDocument = "age" $in (1, 2, 3)
。所以你不能直接将一个集合传递给它。尝试使用这个 "age" $in (rolesIds: _*)
.
我正在尝试使用 Query DSL
和 Reactive Mongo 扩展在 $in
查询中传递倍数值。但结果是空列表。以下是我的代码:
def findUsersByRolesIds(rolesIds: List[BSONObjectID], page: Int, pageSize: Int): Future[List[User]] = {
logger.info("findUsersByRolesIds Reactive Repository Method");
userGenericRepo.find($doc("userRoles._id" $in (rolesIds)), $doc("createdOn" -> -1 ), page, pageSize);
}
当我尝试执行上面的代码时,结果是空的。
但是当我通过时,下面的代码结果是 return。
def findUsersByRolesIds(rolesIds: List[BSONObjectID], page: Int, pageSize: Int): Future[List[User]] = {
logger.info("findUsersByRolesIds Reactive Repository Method");
userGenericRepo.find($doc("userRoles._id" $in (BSONObjectID.apply("5548b098b964e7039852ff58"))), $doc("createdOn" -> -1 ), page, pageSize);
}
主要问题是,我有多个值,所以这就是我创建列表但此处列表不起作用的原因。使用 reactive mongo extenstions
和 Query DSL
如何实现此查询。
$in 需要可变参数,即 val dsl: BSONDocument = "age" $in (1, 2, 3)
。所以你不能直接将一个集合传递给它。尝试使用这个 "age" $in (rolesIds: _*)
.