问题标签 [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 回答
172 浏览

mongodb - Scala MongoDB 驱动程序

插入工作正常。问题在于 find()

对于查找(),

它显示错误:

机器的数据模型是:

以下教程来自: http ://mongodb.github.io/mongo-scala-driver/2.2/getting-started/quick-tour-case-classes/

0 投票
1 回答
1563 浏览

mongodb - 案例类的 Scala mongo 驱动程序自定义编解码器

scala-mongo-driver 有一个很好的文档来处理案例类。http://mongodb.github.io/mongo-scala-driver/2.3/getting-started/quick-tour-case-classes/。在当前情况下,我的案例类字段是 Option[T] 值。所以值可以是NoneSome(T)。默认编解码器现在将“无”值序列化为空。但是如果它的值为None,我想排除它。我怎样才能获得这种行为?根据我的研究,我认为我们需要为案例类编写自定义编解码器或编解码器提供程序,而不是默认案例类编解码器。

0 投票
1 回答
787 浏览

scala - 从 scala 中的 BsonArray 获取值

我很有趣如何使用 mongodb scala 驱动程序将值从 BsonArray 转换为 Seq[String]。我越来越

来自 MongoDB。我想将标签作为 Seq[String]:

但得到编译器错误

收集的类型参数太多

也不行。

我不明白为什么。可能有另一种方法可以做到这一点?

0 投票
1 回答
1447 浏览

mongodb - mongo-scala-driver 事务的示例

Mongodb 4 添加了多文档事务支持。

Mongo-scala-driver ( http://mongodb.github.io/mongo-scala-driver/2.4/ ) 支持 mongodb 4,但我找不到任何示例如何将事务与 scala 一起使用。

任何人都可以提供链接或代码片段吗?

PS:官方 mongodb 站点中有同步事务示例,但我需要scala 中的异步、非阻塞事务示例。

0 投票
0 回答
290 浏览

mongo-scala-driver - 无法更新 mongo-scala-driver 中的 Option[X] 字段

我有这个案例类:

我已经通过方法注册了CodeRegister两者。现在我尝试使用此代码更新该字段CodeDatafromProviderscode

但是,我有这个错误

我已经通过添加和添加新的匹配条件来尝试此链接中的解决方案,SomeCodecCodeData

但我有这个错误

现在,我不知道下一步该怎么做。任何帮助表示赞赏。

0 投票
1 回答
335 浏览

mongodb - 线程“主”org.bson.codecs.configuration.CodecConfigurationException 中的异常:找不到类 org.bson.BsonElement 的编解码器

我遇到以下异常:线程“主”org.bson.codecs.configuration.CodecConfigurationException 中的异常:找不到类 org.bson.BsonElement 的编解码器。在 org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46) 在 org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63) 在 org.bson.codecs.configuration.ChildCodecRegistry.get (ChildCodecRegistry.java:51) 在 org.mongodb.scala.bson.codecs.IterableCodec.org$mongodb$scala$bson$codecs$IterableCodec$$writeValue(IterableCodec.scala:71) 在 org.mongodb.scala.bson。 codecs.IterableCodec$$anonfun$writeIterable$1.apply(IterableCodec.scala:87) at org.mongodb.scala.bson.codecs.IterableCodec$$anonfun$writeIterable$1.apply(IterableCodec.scala:87) at scala.collection。不可变的.List.foreach(List.scala:

尝试应用不同类型的编码器,但没有成功。需要如何为 BsonElement 使用编解码器

下面是给出上述运行时异常的代码:

下面的代码有效:

0 投票
1 回答
600 浏览

mongodb - 是否可以从通用案例类创建编解码器提供程序?

我正在尝试制作一个通用函数,它CodecProvider从给定的通用案例类中生成一个。

BSON 宏文档没有给出任何例子。

这个(未回答的)SO问题是相似的,但是我对枚举给定类型参数的所有可能的编解码器不感兴趣。此外,我的问题不涉及类型界限或类型差异。

这是无法编译的代码的最小示例。

我希望barCodecProvider编译,但它没有。

上面代码抛出的编译错误读起来class Bar takes type parameters令人困惑,因为我已经通过泛型函数的签名明确提供了T类型Bar参数barCodecProvider。我有与打字相关的语法错误吗?错误是否表明我错误地使用了 mongo-scala-driver?

0 投票
1 回答
363 浏览

mongodb - Mongo Number of Connections is Negative (Connections Don't Properly Terminate)

I have a service that connects to a Mongo Cluster running on MongoAtlas. The test suite, for the time being, connects to the cluster runs a number of tests, destroys the created data and closes the connection, at least thats what it is supposed to do.

A chunk of the Test Suite:

The dbscope flag will used to name the database, so that different test suites can boot different dbs and run in parallel w/o deleting each other's data

DatabaseTestProviderTestModule:

MongoDatabaseConnector:

I have noticed that after the suite is done and all tests pass, the Mongo cluster continued to print to the sbt console:

Now, frankly, I am not super sure where the problem is coming from but I did a few things, leaning my guess towards Mongo as the source.

  • I have confirmed in the debug mode that the object id of the MongoDataBaseProvider class that is being hit in the src code is the same as the one that is being hit by the mockDbProvider.close I was wondering if for some reason the Finatra Injector created a separate instance. Turn out it's not the case.

  • I have added in an extra .close() fall in an afterEach function.

    Normally adding this should result in the afterAll() call to error out. Because there would not be an open connection to close. To my surprise it didn't. So I logged into MongoAtlas to see if any of the metrics. I have realized the the number of connections is negative, pictured below. The reasonable explanation for this is that the second .close() call got executed, driving the metrics below zero on every test run.

enter image description here

I am curious if I am terminating it wrongly or if anyone else ran into this problem.

P.S. Contacted Mongo Support about this, awaiting response

0 投票
1 回答
256 浏览

mongodb - Mongo Scala驱动:基于嵌套字段值的PullByFilter

我有一个模型乐队,其中包含旅行列表

旅游在哪里:

目标只是创建一个接收 Band Name 的端点,Tour Name 会根据此输入删除巡演。

以下作品:

但是,这需要我首先通过首先收到的名称解析乐队,过滤,找到游览并将确切的对象传递给我试图通过使用pullByFilter来避免这种情况,但似乎无法让它工作. 不幸的是,在 scala 驱动程序中找不到此函数的任何示例。

这就是我正在尝试的:

这给出了以下错误:

任何想法表示赞赏。这个功能甚至可以实现吗?

0 投票
1 回答
690 浏览

mongodb - mongo-scala-driver :如何在 MOngoClient 设置中添加连接池大小

我是 mongo scala 驱动程序的新手我正在尝试在启动 mongo 实例时添加连接池大小我正在做这样的事情

值 maxSize 不是对象 com.mongodb.connection.ConnectionPoolSettings.Builder [错误] .applyToConnectionPoolSettings(ConnectionPoolSettings.Builder.maxSize(100)) 的成员

这样做的正确方法是什么?