java在映射未知的Morphia中查询对象
我构建了一个从MongoDB导出文档的用户界面
用户只需输入数据库的名称和密码,然后就会提示他们要导出哪些字段。所以我首先需要能够列出这些字段。这是基于Java的,我使用Morphia
我的问题是,如何检索存储在集合中的对象类型,以便向用户列出它们的属性?我想Morphia中的“mapper”类在这里很有用,当然还涉及到一些反射。。。但我对这些不太了解。感谢您的帮助
你可以在下面搜索框中键入要查询的问题!
我构建了一个从MongoDB导出文档的用户界面
用户只需输入数据库的名称和密码,然后就会提示他们要导出哪些字段。所以我首先需要能够列出这些字段。这是基于Java的,我使用Morphia
我的问题是,如何检索存储在集合中的对象类型,以便向用户列出它们的属性?我想Morphia中的“mapper”类在这里很有用,当然还涉及到一些反射。。。但我对这些不太了解。感谢您的帮助
# 1 楼答案
# 2 楼答案
“你是如何获得收藏名称的”是一个很好的问题。如果您直接从mongo获取列表,那么最终可能会得到没有在morphia中映射支持类的集合。可以从映射器((DatastoreImpl)ds)获取映射类。getMapper()并使用该类列表提示用户导出哪个类/字段
除此之外,您可以随时使用DBCollection。findOne()要从集合中获取文档,请在文档中查找classname字段,并使用该字段获取类以及可用字段。这并不排除mongo中的文档在morphia中包含未映射数据的可能性。如果迁移模式或在morphia之外操作文档,就会发生这种情况。只是要记住一点