我試圖通過使用Query DSL
與Reactive Mongo Extensions在$in
查詢中傳遞多個值。但結果是空的清單。 Follwoing是我的代碼:Reactive Mongo Extensions:在Query中使用`Query DSL`傳遞數值列表
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);
}
當我試圖執行上面的代碼,結果是空的。
但是,當我通過,下面的代碼結果是返回。
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
查詢此查詢。
嘗試'val query = $ doc(...); println(s「query = $ {BDONDocument pretty query}」)'然後從MongoDB CLI手動執行查詢以檢查數據是否存在。 – cchantep
@cchantep這是查詢的輸出'query = {「userRoles._id」:{「$ in」:[[{「$ oid」:「5548b098b964e7039852ff58」}]]}}'。仍然沒有數據返回。 –