spring - Spring MongoDb:使用 bean 类创建关于未知字段的索引
问题描述
我遇到了一个我不知道是否可行的问题。
我需要存储一个包含已知字段的文档类,但我还需要存储一个未知字段:
@Document
public class Metadata {
@Indexed
private String user;
private Object metadata;
}
所有这些未知字段都存储在metadata
字段中。
不过,我认识他们中的一个人。我的意思是,在metadata
字段内部会有用户想要的任何东西,但有些字段是应用程序知道的。
我想知道如何为这些未知metadata
领域创建索引。
例子:
{ user: user, metadata: {known: v, unknown: nv}} }
我想在metadata.known
字段中创建一个索引。
问题是,由于该字段未设置为 java bean 字段,因此我无法将其注释为@Indexed
.
有任何想法吗?
解决方案
作为猜测,你为什么不一分为metadata Object
二呢?
一个用于您可以索引的已知字段,另一个用于您无法索引的未知字段。例如:
@Document
public class Metadata {
@Indexed
private String user;
@Indexed
private Object knownMetadata;
private Object unknownMetadata;
}
结果,您将获得类似于以下内容的内容:
{ user: user, knownMetadata: {knownField1: v, knownField2: nv}, unknownMetadata: {unknownField1: v, unknownField2: nv}} }
推荐阅读
- python - Jupyter:为什么第二个命令会阻止第一个命令工作?
- loops - 有没有办法在 DB2 中添加一个 while 循环?
- javascript - 如何使用对象的括号表示法和属性名称的字符串向对象添加属性?
- python - 带单引号且不带转义字符的 JSON 对象
- node.js - MySQL 查询不会超过承诺链中的某个点
- regex - 301 重定向到 URL 中带有 # 的域
- scikit-learn - 在 svm.scv() 中同时使用“class_weight”和“c”参数会发生什么?
- postgresql - PostgreSQL Generate_Series() 插入未完成
- c++ - 调试 curl 未处理的异常
- c# - 对项目源进行列表插入时,组合框项目未更新