当前位置: 首页 > 面试题库 >

使用部分定义的架构映射文档

邵繁
2023-03-14
问题内容

我正在使用Spring&MongoDB作为数据库编写演示应用程序。

我的主域类如下:

@Document
public class Person {

    @Id
    private String id;

    //Some other fields
    private DBObject additionalData;

}

关键是AdditionalData是未指定架构的子文档,它是一种用户定义的JSON。但是,当我解析此json(使用(DBObject)JSON.parse(value)表达式)时,它作为字符串存储在MongoDB中,因此我需要将其作为嵌套的文档结构。

搜索了几个小时,没有找到解决方法。有任何想法吗?


问题答案:

我不太确定转换结果的预期结果

JSON.parse(value)

到DBObject,这是一个接口,而不是一个类。尝试将结果强制转换为DBObject
BasicDBObject(或BasicDBList)的实现,或注释中提到的Map
的实现(它也是一个接口,但确实可以使用)。

如果您正在使用Spring Data Rest,则可能不需要“手动”反序列化,Spring会为您完成。检查此答案以获取有关操作的基本示例。没有指定模式的数据可能不是最好的主意(mongodb使您不必在数据库级别执行操作,但是您应该在应用程序级别执行操作),但是我在生产中使用了类似的技巧,因此您可以以某种方式使它成为现实。工作。



 类似资料:
  • 本文向大家介绍在SAP HANA中使用架构映射,包括了在SAP HANA中使用架构映射的使用技巧和注意事项,需要的朋友参考一下 SAP HANA中的模式映射用于将对象从一个系统移动到另一系统,即从开发系统到测试或从测试系统到生产系统。 假设您要将对象从Dev系统移动到生产系统,并且dev_sch中可以使用dev系统中的表,而Prod_SCH中的生产系统中也可以使用相同的表集。现在,当您将HANA信

  • 我有两个对象,除了date成员外,其他成员都相同。在obj1中,date是java.sql.date,obj2.date是long(纪元)。 我需要编写一个映射器来将obj1映射到obj2。这就是我试图做的: 但是mapperImpl只有自己的日期转换实现: 我得到了: 这种转换的正确方式是什么?

  • 我有一个自定义的Request estMappingHandlerMap类,它将特殊注释解释为其映射条件的一部分。因此它被实例化为bean: 但是当我创建一个MockMvc对象进行测试时(使用Standard aloneSetup),没有使用这个映射处理程序。如果不考虑额外的注释,映射会失败,因为我有多个具有相同@Request estMap的控制器方法。注释是区分它们的原因。 如何配置MockM

  • 我有一个映射定义为 其中定义如下: 反向映射是使用处理的。如何为反向映射指定自定义映射?

  • 以下是我的上下文:我使用byteBuddy动态生成一个类,该类根据外部配置将一个对象转换为另一个对象。我遇到了一些问题,我想找到一个替代方案,这就是我发现MapStruct的方式。 因此,我试图构建简单的映射器,我想知道是否有可能自定义注释以添加转换函数。例如,我想要: 在mapper实现中,我会有如下内容: 如果有人能帮我做到这一点,我将不胜感激,这将节省我很多时间。 提前谢谢。

  • 注意:我的jar是一个用Warbler编译成jar的jruby文件。