作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有以下 Java org.bson.Document
Document innerDoc = new Document();
innerDoc.put("field.with.dot", "something");
Document doc = new Document("inner", innerDoc);
当我插入 doc 时,我得到“点分字段 'field.with.dot' 对于存储无效”,我检查了 mongoDB 不允许在嵌套文档中使用点分字段的文档。
我该如何解决这个问题?因为Document是动态生成的,所以它可能有几层深度的点状字段。注意:我不想替换“点”符号。
是否可以将点分字段分解为嵌套字段?
{"inner": {
"field": {
"with": {
"dot": "something"
}
}
}
}
最佳答案
您必须构建嵌套文档
Document innerWithDoc = new Document();
innerWithDoc.put("dot", "something");
Document innerFieldDoc = new Document();
innerFieldDoc.put("with", innerWithDoc);
Document innerDoc = new Document();
innerDoc.put("field", innerFieldDoc);
Document doc = new Document("inner", innerDoc);
或者您可以在一条指令中执行相同的操作:
Document doc = new Document("inner",
new Document("field",
new Document("with",
new Document("dot", "something")
)
)
);
关于java - 如何在 MongoDb 中插入带点字段的嵌入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61177845/
我是一名优秀的程序员,十分优秀!