yaml ファイル (私が制御できないサードパーティのファイル) があります。これをmongodbに入れる必要があります。しかし、コレクションに挿入しようとすると、以下の例外が発生します
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
snakeyaml を使用して、yaml をマップに変換しています。yaml のネストされた構造の 1 つは、二重値としてキーを持ちます。これが、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