由于某些原因,sbt在使用mongodb-recordauth项目时放弃了.11.3,在我看来这是我可以从git站点下载的唯一版本。 最佳答案 惯用的方法是在build.properties中指定sbt版本为sbt.version=0.11.2但由于0.11.3中的组ID是changed从org.scala-tools.sbt到org.scala-sbt,sbt无法解析旧版本。但是您仍然可以从typesaferepo手动下载旧版本的启动器。. 关于scala-我需要sbt0.11.2来构
我有一个现有的Scala应用程序,它使用案例类,然后将这些类保存在MongoDB中。我需要向案例类引入一个新字段,但它的值是从现有字段派生的。例如,有一个电话号码,我想在保留原始电话号码的同时添加规范化的电话号码。我将更新MongoDB中的现有记录,但我需要将此规范化功能添加到现有的保存和更新代码中。那么,在Scala中是否有任何好的快捷方式可以将“钩子(Hook)”添加到案例类的某个字段?例如,在Java中,可以修改电话号码的setter。编辑:Christian的答案中的解决方案单独使用效果很好,但就我而言,我有字段的默认值(我认为是因为Salat...)caseclassPers
我正在学习lift和mongodb。我遇到了如下问题。为了简单起见,我将绕过一些代码。这是代码:objectUserextendsUserwithMetaMegaProtoUser[User]{}classUserextendsMegaProtoUser[User]{defmeta=User//recordthepostlistthatuserlikeobjectlikePostListextendsMongoListField[User,ObjectId](this)deftest(){vallist:=this.likePostListprintln(list.length)}}e
给定以下类型typeGeoLocation=(Double,Double)我想将其存储在我的数据库中location:[-55.23,123.7]此外,位置数据是可选的,因此API公开了Option[GeoLocation]。当需要存储数据时,我会对其进行转换。valcoordinates:Option[GeoLocation]=...vallocation=coordinatesmatch{caseSome((lng,lat))=>Some(lng::lat::Nil)caseNone=>None}这样我就可以有选择地将它添加到包含的文档中。location.map(doc.put(
我有以下案例类:caseclassDataEntity(name:String,value:Either[Complex,String])caseclassComplex(x:String,y:String)据我所知,序列化(写入MongoDB)运行良好,但反序列化失败:com.novus.salat.util.ToObjectGlitch:argumenttypemismatch$anon$2(classcatalog.DataEntity@com.novus.salat.global.package$$anon$1@3fa48431)toObjectfailedon:SYM:cat
我是Scala和MongDB的新手,我想从与特定ID匹配的集合中获取记录(在C#或Java中,这很容易做到)。但是在Mongo+Scala中我无法让它工作。我的功能是:getBooksFlow(bookId:String,booknodes:List[String]):Future[List[bookResponseModel]]={valmainDB=connection.db(bookId)valbookscollection=mainDB.collection[JSONCollection](booksCollectionString)valquery=Json.obj("_id
我尝试用Casbah和Salat编写一个查询来查询一个包含部分名称的字段。我尝试使用这样的正则表达式(在SalatDAO中):valregexp=(""".*"""+serverName+""".*""").rvalquery="serverName"->regexpvalresult=find(MongoDBObject(query))与valregexp=".*"+serverName+".*"记录在MongoDB中,当我用完整名称搜索它时,它起作用了。告诉casbah搜索字符串的一部分的正确方法是什么?我想修复的另一件事是参数的字符串连接。有没有默认的方法用casbah转义输入参
我在MongoDB中有一个如下所示的文档:{"_id":"asdf","data":[{"a":"1","b":"2"},{"a":"3","b":"4"},{"a":"5","b":"6"},]}我想使用Scala查询该对象,并将“数据”中的条目转换为案例类列表。经过几个小时的工作,我还没有想出可以编译的东西。有人可以用这些信息指出我的教程吗?Thistutorial没有任何帮助。我已经尝试了所有我能想到的嵌套映射、fors、foreaches、casts和模式匹配的组合。编辑:我的super丑陋但现在看似有效的代码现在是这样的:defgetData(source_id:String
所以对于我正在开发的系统,我正在尝试做类似的事情:如果我有一个名为User的模型,它有一个_id(ObjectId)、用户名、密码,然后我尝试创建一个新约会,我的表单将查找患者(在下拉列表中显示患者姓名,但真的会拿起病人的ObjectId)和预约时间。现在我四处寻找,找不到任何与我试图获得的解决方案相差甚远的东西。在Application.scala中,我有:valappointmentForm=Form(tuple("patient"->nonEmptyText,//ObjectId"startTime"->nonEmptyText))我不确定如何充分发挥我的观点以反射(reflec
我正在使用Casbah2.9.2我的mongodb架构如下:[_id:“三角形”,信息:[颜色:“红色”,线:“细”,UseID:“1”,SourceId:“2”]]我希望能够编写一个更新行,首先检查_id、Color和Line一起是否唯一,如果是则更新UseID和SourceID,否则创建一个新的“信息”条目。这让我从命令行得到了我想要的:db.shapes.update({_id:'Triangle',Info:{$not:{$elemMatch:{Color:'Red',Line:'Thick'}}}},{$push:{Info:{Color:'Red',Line:'Thick'