问题标签 [mongodb-scala]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
437 浏览

eclipse - MongoDB Java / Scala 驱动程序 - 缺少方法

我正在尝试将持久层从普通的旧数据库(使用 ScalaQuery)转换为 MongoDB,我遇到了一个奇怪的问题。我使用 Casbah 驱动程序,它是官方 MongoDB Java 驱动程序的 Scala 包装器。Java 和 Scala 驱动程序都定义了 - 根据我在 Eclipse 中打开它时的文档和 .jar 的概述 - 一个方法 findOneById,它将单个 DBObject 作为参数(其中带有一个 ID)。

但是,当我尝试访问它时,在 Eclipse 和 SBT 中,我从 Scala 编译器中得到了一个缺少的方法异常 - Scala 版本 2.9.0-1,SBT 0.10.1。

什么可能导致这种情况?这可能是已知的 SBT / Scala 编译器错误吗?

我刚刚删除了整个存储库,因此所有依赖项都可以重新下载,但这并没有解决问题。

0 投票
1 回答
2266 浏览

scala - MongoDB - 按引用或“外键”排序(Liftweb,Scala)

我有一个用户,其中包含一个指向组织的参考字段“o”:

组织包含字段“n”:

我想要一个按 on 排序的用户列表,最好是在 Scala / Lift 中。

0 投票
1 回答
876 浏览

casbah - Scala MongoDB Casbah 需要构建动态 $or 查询

使用 Scala、MongoDB、Casbah。

给定一个随机的字符串列表:

给定一个 MongoDB 文档结构:

如何使用单个MongoDBCollection.find() 语句查找名称等于列表中条目的所有文档?(即使用$或)

谢谢, - 唐

0 投票
1 回答
372 浏览

scala - 如何使用 Casbah 和 Subset 管理多个级别的对象?

我有三个对象

我打算只将 Profile 对象存储在 Mongo DB 中,但在 Scala 应用程序中,它们应该由它们的类型表示。

我正在使用相同的子集,并定义了以下性质

我如何查询往返 Mongo Now?有这方面的例子吗?

0 投票
2 回答
4261 浏览

mongodb - 迭代游标时修改Mongo对象的安全+有效方法?

我有一些代码检查 Mongo 集合中的每个对象(迭代没有参数的 find() 的结果),并对其中的一些进行更改。这样做似乎不安全:我的更改已保存,但是当我继续遍历光标时,更改对象的子集(10-15%)第二次出现。我没有更改文档 ID 或任何有索引的东西。

我想我可以通过提前获取所有文档 ID(将光标转换为数组)来避免这个问题,但这些都是大型集合,所以我真的很想避免这种情况。

我注意到默认情况下 find() 的结果似乎没有任何定义的顺序,所以我尝试在光标 {"_id":1} 上进行显式排序。这似乎已经解决了这个问题——无论我修改什么,现在都没有出现两次。但我不知道这是否是一个好的/可靠的方法。据我从文档中可以看出,添加排序不会使其预查询所有 ID;如果是这样,那很好,但是我不知道为什么它会解决问题。

在更改内容时使用游标只是一个坏主意吗?

如果这很重要,我正在使用 Scala/Cas​​bah。

0 投票
1 回答
666 浏览

mongodb - 多个文档更新 mongodb casbah scala

我有两个 MongoDB 集合

促销合集:

声称的集合:

每当有人要求促销时,都会在“claimedPro”集合中创建一个新文档,其中 proId 是第一个(促销)集合的(虚拟)外键。每个声明都应在“promo”集合中增加一个计数器“qtClaimd”。以事务方式增加另一个集合中的值的最佳方法是什么?我了解 MongoDB 没有针对多个文档的隔离。

另外,我采用“非嵌入式”方法的原因如下

促销被创建并发布给用户,然后索赔将以成千上万的数量发生。我认为将声明嵌入促销集合中是不合逻辑的,因为写入的数量将发生在单个文档中('coz mongo 在大小因数千个声明而增加时调整促销集合的大小)。采用非嵌入式方法使促销集合不受影响,但在“声明”集合中插入新文档。稍后在生成报告时,我必须显示“促销”详细信息以及该促销的“声明”详细信息。使用非嵌入式方法,我必须首先查询“promo”集合,然后使用“proId”查询“claims”集合。*还值得一提的是,有时可能会有 100 次“索赔”

用这两个集合实现交易效果的最佳方法是什么?我在 Scala 2.10 版本中使用 Scala、Casbah 和 Salat。

0 投票
1 回答
236 浏览

mongodb - runco​​mmand 不是 casbah mongocolection 的成员

这是在 mongo 中运行的

我如何使用 casbah 在 scala 中运行相同谢谢

0 投票
3 回答
3434 浏览

mongodb - Play Framework 2.1 的最佳 mongodb 驱动程序

Play Framework 2.1 的最佳 MongoDB 驱动程序是什么?

我现在正在尝试 ReactiveMongo,但我在任何地方都找不到好的文档,我对它的未来发展表示怀疑。

哪个驱动程序最受欢迎和受支持?

谢谢,

遗传算法

0 投票
0 回答
243 浏览

mongodb - casbah 2.6.2 中的 $addToSet $each 异常

从 casbah 2.6.1 迁移到 2.6.2 后,我得到了 $addToSet $each 更新查询的以下异常。

java.lang.NoSuchMethodException: com.mongodb.casbah.query.dsl.AddToSetOp$$anon$1.$each(scala.collection.Seq, com.mongodb.casbah.query.AsQueryParam)

有谁知道这里可能发生了什么变化?

0 投票
2 回答
800 浏览

mongodb - 阻止 mongoDB 中的更改字段

我在 MongoDB 中有一个增加的集合,该字段最初定义为整数,但我发现增加后转换为双倍。

但后来我更新了文档,看到了 Long 的变化。

有没有办法阻止 Mongo 中的这些变化?

提前致谢