0

我有一个 yaml 文件(我无法控制的第三方文件)。我需要把它放到我的 mongodb 中。但是当我尝试将它插入我的收藏时,我得到以下异常

java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String

我正在使用snakeyaml 将我的yaml 转换为地图。我在 yaml 中的嵌套结构之一将键作为双值,这就是我认为导致 mongo db 混乱的原因。

我正在使用 mongo-java-driver-2.11.3 与 mongo 交互

这是我的 yaml 文件的示例

persons:
  - 1st relative:
      name: Alice
      sons:
        - 0:
            name: Alice First son
        - 0.2:
            name: Alice Second son
        - 0.3:
            name: Alice Third son
        - 0.4:
            name: Alice Fourth son
        - 0.5:
           name: Alice Fifth son

这是我插入 mongo 的简单代码

 Yaml yaml = new Yaml();
        Map<String, Object> object =  (Map<String, Object>) yaml.load(new FileInputStream\\test.yaml")));
        coll.insert(new BasicDBObject(object));

任何关于如何解决这个问题的想法将不胜感激

谢谢K

4

1 回答 1

0

显然,当我使用 mongo-java-driver-2.10.0 时,这个问题似乎已经消失了。因为我的播放版本是 2.10.0,所以我不得不去那个版本。

尽管我对它为什么消失感到困惑,但我很高兴它不再是一个问题。

于 2013-11-09T01:10:50.987 回答