JSON插入在蒙戈

SteeleDev:

我有我使用GSON库创建一个JSON对象。我想使用Java蒙戈驱动器v3.8.1与UUID作为IDS和Int64的类型,我的整数插入MongoDB中此对象。然而,这似乎是作为插入字符串和分别的Int32类型。

JsonObject folderObject = new JsonObject();
folderObject.addProperty("id", UUID.randomUUID().toString());
folderObject.addProperty("cid", document.getCid());

我把它改为BSON

org.bson.Document doc= org.bson.Document.parse(folderObject .toString());

和MongoDB中,通过使用插入

  mongoCollection.insertOne(doc);

我document.getCid()是Long类型,但仍插入为INT32,我无法从字符串除了传递任何内容到folderObject。

SteeleDev:

通过使用POJO蒙戈编解码器解决了这个。

CodecRegistry pojoCodecRegistry = fromRegistries(MongoClient.getDefaultCodecRegistry(),
                fromProviders(PojoCodecProvider.builder().automatic(true).build()));

    CodecRegistry codecRegistry =
                fromRegistries(CodecRegistries.fromCodecs(new UuidCodec(UuidRepresentation.STANDARD)),
                        MongoClientSettings.getDefaultCodecRegistry(),pojoCodecRegistry
                );

然后你可以选择启动客户端与给定的编解码器或编解码器注册表或编解码器的收集开始的数据库。

参考- https://mongodb.github.io/mongo-java-driver/3.8/driver/getting-started/quick-start-pojo/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章