Проблемы с использованием yaml и mongodb

У меня есть файл yaml (сторонний файл, над которым я не контролирую). Мне нужно получить это в моем mongodb. Но когда я пытаюсь вставить его в свою коллекцию, я получаю следующее исключение

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

Я использую змею, чтобы преобразовать мой 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

А вот мой простой код для вставки в монго

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

Любые идеи о том, как обойти это, будут высоко оценены

Спасибо К


person Karthik Balasubramanian    schedule 07.11.2013    source источник


Ответы (1)


Судя по всему, эта проблема исчезла, когда я использовал mongo-java-driver-2.10.0. Мне пришлось перейти на эту версию из-за моей игровой версии 2.10.0.

Несмотря на то, что я озадачен тем, почему это исчезло, я рад, что это больше не проблема.

person Karthik Balasubramanian    schedule 09.11.2013