我们目前正在解决一个问题,我们在scala中将specs2与mongodb/reactivemongo+Play!一起使用。当我们运行写入mongodb的测试时,第一个操作运行良好,所有后续测试/写入都因mongodb超时而失败。我们在响应式(Reactive)mongo网站上发现了一个似乎已经记录在案的错误:https://github.com/ReactiveMongo/Play-ReactiveMongo/issues/32有人知道这个问题的解决方法吗?我们已经尝试过:强制按顺序运行测试每个测试都在自己的假应用程序中运行在同一个虚假应用程序中运行所有测试将集合定义为def(如上面
我下载了类型安全应用程序“modern-web-template”,它使用play+scala+reactivemongo实现了一个crud应用程序我正在尝试添加新功能。我希望能够通过这样调用带有两个参数的URLlocalhost:9000/users?dni&30000000首先我将这条路由添加到路由文件中GET/users@controllers.Users.findUsersParams(tipoDocumento:String?="",numeroDocumento:String?="")然后我将这个方法添加到ControllerdeffindUsersParams(tipoD
我有一个MongoDB集合,我想在其中存储这样的文档:{"_id":ObjectId("52d14842ed0000ed0017cceb"),"details":{"name":"Pankaj","email_id":"abc@gmail.com"}}但不幸的是,这里像这样插入到mongo中:{"_id":ObjectId("52d14842ed0000ed0017cceb"),"details":{"name":"\"Pankaj\"","email_id":"\"abc@gmail.com\""}}为什么这个斜杠进入mongo!如何删除这个斜杠?在我的代码中,“详细信息”存储在Ma
我正在实现一个文件存储服务,它获取一个文件并将其保存到具有特殊元数据的gridFS中。当然,我想确保一切都在集成中工作——文件确实存储在数据库中,然后从中检索。我使用PlayFramework2.1.3Scala和ReactiveMongo0.9。我的测试用例如下所示:"showemptyuploadedsizeoninit"in{running(FakeApplication()){Await.result(FileStorage.getFilesSize(profileId),duration)mustbeNone}}我尝试用running来包装所有情况,或者所有情况,甚至是Thr
下面又是我在previouspost中展示的案例类...但使用cmbaxter建议的修复:caseclassUser(id:Option[BSONObjectID],name:String,addresses:Option[List[BSONObjectID]])objectUser{implicitobjectUserWriterextendsBSONDocumentWriter[User]{defwrite(user:User)=BSONDocument("_id"->user.id.getOrElse(BSONObjectID.generate),"name"->user.nam
给定一个像这样生成的java.util.UUID...importjava.util.UUIDvaluuid=UUID.randomUUID...是否可以将其转换为MongoDBObjectID并保持唯一性?还是我应该将_id设置为UUID值?当然,最好的解决方案是使用BSONObjectID.generate...但在我的例子中,我得到了一个以UUID作为ID的JSONWebToken,我需要在MongoDB集合中跟踪它。发送。 最佳答案 为什么不简单地保存_id=uuid?MongoDB会简单地处理它:)
当使用ReactiveMongo从MongoDB查询文档时,我试图过滤掉password字段:valprojection=Json.obj("password"->0)deffind(selector:JsValue,projection:Option[JsValue])={valquery=collection.genericQueryBuilder.query(selector)projection.map(query.projection(_))query.cursor[JsValue].collect[Vector](perPage).transform(success=>su
我有一个MongoDB服务器,我在其中启用了身份验证并创建了具有DB特定权限的用户。此应用程序的用户定义如下所示,即geoAdmin具有相关数据库的读取、读写和dbOwner权限:MongoDBshellversion:3.0.0connectingto:192.168.2.89/test>usegeo_dbswitchedtodbgeo_db>db.getUser("geoAdmin"){"_id":"geo_db.geoAdmin","user":"geoAdmin","db":"geo_db","roles":[{"role":"read","db":"geo_db"},{"ro
我正在尝试使用以下方式在MongoDB中插入日期:collection.insert(Json.obj("user"->"abc","joined_date"->DateTime.now))在数据库中:{"_id":ObjectId("5865d99718969bca6a09450f"),"user":"abc","joined_date":NumberLong("1483069847066")}这里的问题是日期以Long毫秒格式存储在数据库中,但我想要它以ISO日期格式存储。我尝试在MongoShell中保留相同的数据db.example.insert({user:"abc",joi
我有一个mongo条目,其中一个字段是一个列表。如果条目不存在,我想添加一个新条目。如果它存在,我想将一个新元素添加到列表中。最后我想返回一个Ok给客户端,但只有在操作成功完成之后。不是严格的要求,但在我看来,这是对用户最有意义的要求。这就是我目前拥有的-它可以工作,但在更新时它会覆盖旧列表,而不是附加新元素。defmyMethod(value:String,value2:String)=Action{Async{valmyElement=Json.obj("key"->value2)valmyDBEntry=Json.obj("key"->value,"list"->List(myE