[英]Need a map reduce function in mongo using scala
我正在努力在 mongodb 中加入两个表。 我从谷歌搜索中了解到,mongo 中没有连接概念。 但是,我们可以通过执行 map reduce 来实现这一点。 我也是 Scala 的新手。 我在 mongodb 中有两个表。
User
userid
name
Role
userid
permission
我想结合来自两个表的数据来表示如下
userid, name, permission
样本数据将是
05533, User1, read
05535, User2, read/write
任何人都可以帮忙在此处添加一些示例 Scala 代码以实现此地图缩减功能吗?
我在下面的代码中尝试了这个效果很好,但是我有数百万条记录并且一一查找超时。 首先从user表中获取userid,然后尝试找到对应的roleid。
val role = Role.findById(db, userid) match {
case Some(role) => role
case None => Role(
title = "Role Not Found"
)
}
def findById(db: DaoConnection, id:String) : Option[Role] = {
object RoleDAO extends SalatDAO[Role, ObjectId](collection = getCollection(db))
RoleDAO.findOne(MongoDBObject("_id" -> new ObjectId(id)));
}
我没有在 Scala 端查询,而是按照这种方法来解决。
这可能不是微不足道的解决方案,但这是针对此类问题建议的方法之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.