【问题标题】:MongoDB Java driver - Object typesMongoDB Java 驱动程序 - 对象类型
【发布时间】:2013-08-23 07:28:47
【问题描述】:

我需要使用 MongoDB Java 驱动,因为我需要在 Matlab 中使用驱动。

目前我有以下问题。我从数据库中获取了我的 BSON 对象,现在我需要将 BSON 树转换为 Matlab 结构。我的问题是 BSONObject 或 BasisBSONObject 类没有检索特定 BSON 对象(ARRAY,OBJECTID,...)类型的功能。在 java 驱动程序中有一个名为 BSON 的类,它定义了我需要的值。但我不知道如何找出我当前的 BSON 对象是什么类型。

C++ 驱动程序和 C# 驱动程序都有一个函数可以返回特定 BSON 元素的类型,但它在 JAVA 驱动程序中的位置。

欢迎任何建议。我在 JAVA 方面不是很完善,也许是因为这个原因我没有找到它......?

【问题讨论】:

  • 我不认为它有这样的类型。 BSONObject 中的值有类型(您可以通过get(String) 检索它们),但不是对象本身。

标签: java matlab mongodb


【解决方案1】:

为什么不获取对象并在其上调用getClass()myBSON.get("myKey").getClass() 看起来就像调用一些不存在的 myBSON.getTypeOf("myKey") 方法一样简单,而且在 API 中也是多余的。

【讨论】:

  • 感谢 John,与 C++ 和 C# MongoDB 驱动程序相比,该解决方案有点“奇怪”,但 getClass() 完全可以帮助我确定我的 BSON 元素是否是“值”, "数组" , ...
【解决方案2】:

通常我使用 BSONJava POJO 映射库,例如 Morphia 或 Spring-Data-Mongo。这些库有转换器,可以将 mongo 对象转换为类型安全对象。

此外,我认为 Mongo 3.x 驱动程序应该对此有更好的支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多