草庐IT

mongodb - 使用子类检索 Salat 对象时出现异常

我有一个对象有一个子类作为属性:caseclassUpgradeInfo(@EnumAsupgradeType:UpgradeType.Value,@EnumAstimeUnit:TimeUnit.Value,timeQuantity:Int,start:Date,end:Date)caseclassUpgrade(@Key("_id")id:ObjectId=newObjectId,adId:ObjectId,upgradeInfo:UpgradeInfo,price:Double)创建和更新对象工作正常,但是当我尝试使用此代码检索升级对象时(应该检索所有升级对象):UpgradeD

mongodb - Scala Play Salat 聚合示例

我在后端使用带有MongoDB的ScalaPlay2.x,我必须承认Salat对mongoCRUD操作有很好的支持。但到目前为止,我还没有找到任何好的示例来说明如何使用$unwind、$match、$group或聚合管道等SALAT调用mongo聚合函数。例如db.posts.aggregate([{$unwind:"$tag"},{$group:{_id:"$tags",count:{$sum:1}}},{$sort:{$post:-1}},{$limit:1}])UPDATE(ALTERNATIVE)我没有找到任何系统地解释用法的帮助SALAT中的聚合查询。因此,作为解决方法,我还

scala - NoClassDefFoundError => 使用 Play 开始时的 ClassPath$JavaContext

我做了一个小的Scala,Play2.0.2应用程序。当我使用playrun命令时它工作正常,但是当我使用playstart或playcleancompilestage+target/start时,当尝试使用Casbah/Salat进行MongoDB插入时,我得到以下堆栈:[info]application-Can'tcreateuserjava.lang.NoClassDefFoundError:scala/tools/nsc/util/ClassPath$JavaContextatscala.tools.scalap.scalax.rules.scalasig.ScalaSigPa

mongodb - Salat 无法在运行的 Play Framework 应用程序中序列化,但在控制台中运行良好

我有一个Play2.1.0(Scala)框架应用程序,我正在尝试使用Salat将我的案例类对象转换为MongoDBObjects。当我启动游戏控制台时,实例化我的案例类之一,导入salat._和salat.global._我能够从我的案例类转换为MongoDBObject。当我在游戏中处于“运行”模式时,我调用了一个调用Actors的页面,而Actors又执行相同的代码以从案例类转换为MongoDBObject,我得到错误(data.Field是我的全名案例类):com.novus.salat.util.GraterGlitch:GRATERGLITCH-unabletofindori

json - 使用 Casbah/Salat 到 Json 的单个序列化层

我正在尝试创建一个序列化层,它允许我:将我的类存储在MongoDB数据源中将它们转换为JSON以在RESTAPI中使用它们。有些类显然不是案例类(因为它们是从Java代码库继承的),我将不得不为此编写临时代码。为我的非标准类型注册BSONHook是否是正确的方法,它是否提供Json序列化? 最佳答案 Salat维护者在这里。您可能更愿意创建一个Salat自定义转换器,而不是向Casbah注册一个BSON钩子(Hook)。参见simpleexample和spec.如果您遇到任何问题,请随时pingmailinglist使用一个小示例G

mongodb - salat是否支持scala中Either类型的反/序列化?

我有以下案例类: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 - 卡斯巴/礼拜 : How to query a field that a part of a string is contained?

我尝试用Casbah和Salat编写一个查询来查询一个包含部分名称的字段。我尝试使用这样的正则表达式(在SalatDAO中):valregexp=(""".*"""+serverName+""".*""").rvalquery="serverName"->regexpvalresult=find(MongoDBObject(query))与valregexp=".*"+serverName+".*"记录在MongoDB中,当我用完整名称搜索它时,它起作用了。告诉casbah搜索字符串的一部分的正确方法是什么?我想修复的另一件事是参数的字符串连接。有没有默认的方法用casbah转义输入参

scala - 玩!从单独的 mongo 集合中选择项目的表单

所以对于我正在开发的系统,我正在尝试做类似的事情:如果我有一个名为User的模型,它有一个_id(ObjectId)、用户名、密码,然后我尝试创建一个新约会,我的表单将查找患者(在下拉列表中显示患者姓名,但真的会拿起病人的ObjectId)和预约时间。现在我四处寻找,找不到任何与我试图获得的解决方案相差甚远的东西。在Application.scala中,我有:valappointmentForm=Form(tuple("patient"->nonEmptyText,//ObjectId"startTime"->nonEmptyText))我不确定如何充分发挥我的观点以反射(reflec

mongodb - 将 Java bean 和 Scala 案例类映射到 MongoDB 对象

我目前正在为这个问题苦苦挣扎..在我们的系统中,我们使用Javabean和Scalacaseclasses,它们通常相互包含。因此,我正在寻找一个很好的解决方案,了解如何将这些对象映射到mongoObjects,以便我可以从数据库中保存/加载它们。为此,我尝试了Morphia,但遗憾的是它无法从json序列化回对象,因为它无法构造案例类。所以我尝试了Salat,但是这个只适用于案例类而不适用于javabean:(有人知道如何做到这一点吗? 最佳答案 在这里向开发人员致敬。如果您想使用Salat,您可以将您的Javabean转换为Sc

mongodb - Casbah:没有隐式 View 可用错误

在Play应用程序中,使用Salat和Casbah,我试图将DBObject反序列化为Task类型的对象,但是当调用.asObject:Noimplicitviewavailablefromcom.mongodb.casbah.Imports.DBObject=>com.mongodb.casbah.Imports.MongoDBObject.Erroroccurredinanapplicationinvolvingdefaultarguments.对象使用.asDBObject正确序列化,并按预期写入数据库。是什么导致了这种行为,可以采取什么措施来解决它?这是涉及的模型:packag