最近尝试对MongoDB进行upsert时,将在我的Map
子句中使用的所有值压缩在单个$set
中。
但是,以前是用一个有效的单一类型Map[String, Long]
完成的。但是,由于我知道$set
可能包含(并且确实)不同的类型,所以我想在$set
子句中放入我确实需要的多个字段。
我尝试了以下操作,但均未成功。
"$set" -> Document(
item.getAs[Map[String, _]]("mapField")
)
这已经在IDE中使用Cannot resolve overloaded method Document
进行了抱怨。
是否有任何方法可以在不使用++
运算符的情况下完成此操作,从而使整个DataFrame的列分布更多?
Scala Map
与Java Map
不同,您忘记了new
之前的Document
字。 Document
构造函数需要Java映射,但是您尝试传递scala映射。我认为您需要将scala map转换为java map: