加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何检索Mongodb集合中的所有对象,包括ids?

发布时间:2020-12-16 18:18:17 所属栏目:安全 来源:网络整理
导读:我正在使用 Casbah和 Salat来创建我自己的Mongodb dao并且正在实现这样的getAll方法: val dao: SalatDAO[T,ObjectId] def getAll(): List[T] = dao.find(ref = MongoDBObject()).toList 我想知道的是: 有没有更好的方法来检索所有对象? 当我遍历对象时,我
我正在使用 Casbah和 Salat来创建我自己的Mongodb dao并且正在实现这样的getAll方法:

val dao: SalatDAO[T,ObjectId]    
def getAll(): List[T] = dao.find(ref = MongoDBObject()).toList

我想知道的是:

>有没有更好的方法来检索所有对象?
>当我遍历对象时,我找不到对象的_id.被排除在外吗?如何将其包含在列表中?

解决方法

1°/ ModelCompanion trait提供def findAll():SalatMongoCursor [ObjectType] = dao.find(MongoDBObject.empty)方法.您必须为数据库的每个集合执行专门请求.

如果迭代返回的对象,最好使用dao.find返回的SalatMongoCursor [T]进行迭代,而不是进行两次迭代(一次使用来自Iterator trait的toList,然后是List [T]中的另一次).

2°/ Salat将_id键与您的班级ID字段进行映射.如果您定义一个具有id:ObjectId字段的类.该字段使用mongo _id键进行映射.
您可以使用@Key注释更改此行为,如Salat documentation中所述

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读