问题标签 [mongo-scala-driver]

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 回答
424 浏览

mongodb - 订阅 mongo 查询不起作用

我使用带有 "org.mongodb.scala" %% "mongo-scala-driver" % "1.0.1" 的 playframework 并拥有该代码:

它打印:

[信息] 应用程序 - 区域搜索

[信息] 应用程序 - 已订阅

[信息] 应用程序 - foreach 接受的区域

[信息] 应用程序 - foreach 接受的区域

[信息] 应用程序 - foreach 接受的区域

[信息] 应用程序 - 被接受为未来 seq 3 的区域

为什么subscribe的事件和地图不起作用?

0 投票
2 回答
1624 浏览

mongodb - Mongo Scala 驱动程序集合不更新文档

我能够插入、读取和删除,但我无法使用 updateOne 或 updateMany 来修改文档。

我正在使用带有 libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "1.1.1" 的 MongoDB 3.2.7

以下是日志:

[调试]应用程序-更新(){“_id”:{“$oid”:“5759542a4e0bf602adcab149”},“标题”:“文本平铺”,“声誉”:0}

[调试] 应用程序 - org.mongodb.scala.ObservableImplicits$BoxedObservable@61ddc581

[调试] 应用程序 - onSubscribe: org.mongodb.scala.ObservableImplicits$BoxedSubscription@6252b659

[调试] 应用程序 - 结果:()

[调试] 应用程序 - onComplete

0 投票
1 回答
1137 浏览

mongodb - Scalatra 和 Mongo insertOne 错误 - java.lang.NoSuchMethodError: com.mongodb.operation.MixedBulkWriteOperation.bypassDocumentValidation

在浏览了两天的教程和帮助网站之后,我似乎找不到我的问题的答案。

我是 Scala 和 Mongo 的新手,我正在使用 Scalatra (v2.4.1)、Scala (v2.11.8) 和 mongo-scala-driver (v1.1.1) 构建 HTTP 服务器。

MongoinsertOne函数的基本 Scalatra 教程返回错误:

我的 Scalatra Servlet 如下:

我的 Scalatra 引导文件如下:

而我的 build.scala 文件如下:

有任何想法吗?

0 投票
2 回答
305 浏览

mongodb - mongo-scala-driver 是否支持 GridFs?

我在这里查看他们的文档http://mongodb.github.io/mongo-scala-driver/1.1/我找不到提到它的地方。

0 投票
2 回答
722 浏览

mongodb - Not persisting Scala None's instead of persisting as null value

I noticed that the scala driver (version 1.2.1) writes Option values of None as null to the corresponding field. I would prefer omitting the fieid completely in this case. Is this possible?

Example

leads to

but I want to achieve

When I used casbah, I think my intended behaviour was the default.

0 投票
1 回答
1953 浏览

mongodb - Mongo-Scala-Driver:CodecConfigurationException:找不到类 immutable.Document 的编解码器

错误信息:

代码:

调用:



我试过使用可变文档,但后来意识到 findoneandupdate 返回一个不可变的。我也尝试使用 BsonDocument 作为过滤器,但那个 ofc 没有效果。我不太确定从这里去哪里,任何帮助将不胜感激:)

0 投票
0 回答
1997 浏览

mongodb - IllegalArgumentException:无效的 BSON 字段名称 uuid

所以我已经尝试了无数的事情来让它发挥作用。当我调用queueWrite时,println 语句给了我这个:

和这个:

哪个(我很确定)很好。但是,在它打印之后,我得到了这个:

Afaik,字段名称 uuid 很好,我真正能找到的关于不正确名称的唯一事情就是确保没有“。” 其中的符号(没有)

任何想法/建议都非常感谢一如既往:)

0 投票
0 回答
450 浏览

mongodb - 如何使用 mongo scala 驱动程序 2.0 更新 BigDecimal 字段?

我用的是官方mongo-scala-driver 2.0.0的。并尝试使用BigDecimal值更新字段:

它给了我:

org.bson.codecs.configuration.CodecConfigurationException:找不到类 scala.math.BigDecimal 的编解码器

但插入接受BigDecimal

更新 BigDecimal 字段的正确方法是什么?这是正确的,插入支持编解码器,但更新 - 不是

0 投票
0 回答
103 浏览

mongodb - mongo scala driver 2.0:不能用对象更新?

我正在重构一个应用程序以使用 mongo-scala 驱动程序版本 2.0 而不是 reactivemongo。通过使用 reactivemongo 和 casbah,我开始期望能够通过提供一个查询来查找目标文档和一个新文档来更新它来更新文档。

Casbah 中的方法如下所示(从此处复制。

看来我不能使用 mongo-scala 驱动程序来执行此操作,而是必须提供要更新的每个字段及其新值。问题是更新所有可能已更改的内容的唯一可靠方法是传入一个新文档。

所以我想知道我是否只是遗漏了一些明显的东西,或者真的没有办法用 mongo-scala 驱动程序做我想做的事?有没有人为这个缺失的功能找到一个合理的解决方法?

0 投票
1 回答
738 浏览

mongodb - Scala MongoDB 驱动程序 - 如何对 Observable 和 Inserting 执行阻塞

所以我有 2 个集合,假设它的集合和其他集合,我想将来自这个其他集合的数据插入到一个全新的集合中,其中另一个集合包含可以处理为新形式的数据的数据,其中将是存储到这个新集合中。这个过程将一次性完成。问题是 Scala MongoDB 驱动程序的异步行为有点问题。我希望这个新集合能够自动递增,因为在将 ID 插入数据库后我需要它。

所以显而易见的步骤是:

  1. 订阅Other Collection findAll Observable,获取发射的数据
  2. 计算新集合上的数据以找出数量,递增一,您将获得发出数据的最后一个 id
  3. 处理数据(映射、变异等)
  4. 将新数据插入新集合

现在的问题是,在第 2 步和第 4 步之间,在插入数据之前会有一些延迟,因为它有时会抛出一个异常,说在向 MongoDB 插入数据时重复 ID。我无论如何都没有找到阻止文档。

我应该如何阻止 observable 以便在其他线程完成后启动进程?

还是有更好的方法来做我想做的事?我愿意接受建议

也欢迎任何参考阅读,谢谢