无法使用包含任何值的Map实例化MongoDB Document类

问题描述 投票:0回答:1

最近尝试对MongoDB进行upsert时,将在我的Map子句中使用的所有值压缩在单个$set中。

但是,以前是用一个有效的单一类型Map[String, Long]完成的。但是,由于我知道$set可能包含(并且确实)不同的类型,所以我想在$set子句中放入我确实需要的多个字段。

我尝试了以下操作,但均未成功。

                  "$set" -> Document(
                    item.getAs[Map[String, _]]("mapField")
                  )

这已经在IDE中使用Cannot resolve overloaded method Document进行了抱怨。

是否有任何方法可以在不使用++运算符的情况下完成此操作,从而使整个DataFrame的列分布更多?

mongodb scala mongodb-java
1个回答
0
投票

Scala Map与Java Map不同,您忘记了new之前的Document字。 Document构造函数需要Java映射,但是您尝试传递scala映射。我认为您需要将scala map转换为java map:

© www.soinside.com 2019 - 2024. All rights reserved.