草庐IT

scala-tools

全部标签

mongodb - 用另一个列表(MongoDB 或 Scala)替换模型子列表

我的文档结构如下:{"name":"CategoryChildLevel2","parentId":"2","otherAttribute":"anyVal","breadcrumb":[{"name":"RootCategory","id":"1"},{"name":"CategoryChildLevel1","id":"2"},{"name":"CategoryChildLevel2","id":"3"}]}我想要的是能够运行这样的查询:替换以开头的面包屑数组{"name":"RootCategory","id":"1"},{"name":"CategoryChildLevel1"

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中的聚合查询。因此,作为解决方法,我还

mongodb - 将 mongodb 聚合函数转换为 ReactiveMongo 和 scala

我正在尝试在ReactiveMongo中实现一个聚合方法,但我有点卡住了。我有以下数据集:{"_id":ObjectId("522891aa40ef0b5d11cb9232"),"created":1378390442167,"origin":2,"originIpAddress":"","rating":3,"remindersSent":1,"status":4,"text":"","updated":1378563426223,"userInfo":{"firstName":"Person","lastName":"Person","email":"person@person.c

mongodb - 通过 Scala Play 连接时如何解决 MongoDB 超时错误!框架?

我正在使用ScalaPlay连接到MongoDB!框架。我最终收到此超时错误:!@6j672dke5-Internalservererror,for(GET)[/accounts]->play.api.Application$$anon$1:Executionexception[[MongoTimeoutException:Timedoutwhilewaitingtoconnectafter10000ms]]atplay.api.Application$class.handleError(Application.scala:293)~[play_2.10-2.2.1.jar:2.2.1

java - 非阻塞异步 mongo java/scala 驱动程序可以阻塞线程——如何处理?

使用非阻塞异步mongojava/scala驱动程序,可以为无法通过空闲连接直接执行的操作定义等待时间和等待队列大小。设置这些值时,mongo驱动程序将使线程等待可用连接。对于使用非阻塞异步IO编写的应用程序来说,这种行为是非常危险的。这些应用程序使用非常有限的线程数(=内核数)。阻塞其中一个线程会阻塞整个应用程序。对于这种应用程序,推荐的方法是什么?我们是否应该将所有这些等待设置设置为0并在应用程序中重试处理MongoWaitQueueFullException?当连接空闲时,驱动程序是否应该调用应用程序回调?预先感谢您的回答! 最佳答案

json - 使用 Scala 从 mongodb 访问值

执行MongoDB查询后,我的结果类型为:res=Seq[Document]要访问BsonString,我使用:res(0).get("n"))返回:Some(BsonString{value='value'})如何从BsonString中以字符串形式访问值value?访问Some(BsonString{value='value'})的值返回BsonString{value='value'}doIneedtoconvertBsonString{value='value'}使用库(例如Jackson)到Scala对象,然后访问值? 最佳答案

mongodb - mongo scala驱动程序在使用insertOne后得到_id

希望在使用insertOne时得到刚才插入的文件ObjectId。根据我的考虑,一种方法是在客户端生成_id,另一种方法是通过文档的指定字段进行查询。哪种方法更好或有其他方法?ps:我知道mongo中的ObjectId是用机器和时间信息生成的。总之,我只是想知道mongoObjectIdshouldgenerateonclientormongodserver是什么意思? 最佳答案 正如MongoDB文档所指定的,如果您使用可变文档,如果您没有提供由MongoDB自动创建的带有_id的文档,您应该取回该文档。InsertMongoDB

mongodb - 尝试使用 scala 从 Spark 向 mongodb 写入 $group 聚合时出现重复键错误

编辑:此编辑可能会改变此问题的进程。在spark上运行的mongodb聚合(特别是$group)在写回集合时创建了重复的_id记录。结果,mongodb抛出重复键错误。顺便说一句,这个查询在mongoshell中运行得很好。这是我做的:我拿了一个小数据集,并将(聚合)spark代码的结果打印到控制台,而不是写入集合。我打印了完整的结果集,但在_id字段中发现了重复项。数据看起来像这样:(已编辑)Document{{_id=Document{{prodCategory=123},{proId=ABC},{‌​location=US}},details=[Document{{....}},

Mongodb 文档到 Scala 案例类

我正在使用MongoDBscala驱动程序。我在从MongoDB获取记录时遇到问题。以下是我的MongoDB初始化privatevalclient:MongoClient=MongoClient()privatevaldatabase:MongoDatabase=client.getDatabase(“rulemgntdb”)valWorkOrdercollection:MongoCollection[Document]=database.getCollection("workOrder")查找查询:MongoFactory.WorkOrdercollection.find().col

mongodb - 使用scala和lift,如何对mongodb集合中的文档进行高效的过滤操作?

我在mongodb中有一个用户集合,我正在使用lift/scala执行User.findAll操作并检索在特定时间范围内创建的用户数。我正在利用objectId的getTime方法,但是我需要应用一些方法并相乘以获取存储在每个文档中的字符串,将其转换回objectID并将毫秒转换为秒。这是最后一小时创建的用户的代码行:valusers=User.findAll.filter{u:User=>((((ObjectId.massageToObjectId(u._id)).getTime)/1000)我需要找到一种在数据库中执行此操作的方法,而不是将所有数据都放入内存中,然后使用该函数对其进