java - 如何在 MongoDb 中插入带虚线字段的嵌入式文档
问题描述
假设我有以下 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")
)
)
);
推荐阅读
- amp-html - 当我单击 AMP 表单中的提交按钮时,如何显示加载程序?
- javascript - 如何添加 Google Adsense 静态网站
- r - 从 MongoDB 提取数据到 PowerBi
- ruby-on-rails - 如何将其他变量与渲染一起带来?
- python - 阐明在遍历列表的 for 循环中使用已声明的变量
- json - JSON 转储可以帮助生成 REST API 文档吗?
- kubernetes - Kubernetes 基本 pod 日志记录
- java - 需要但未调用 - 使用谓词参数从另一个静态方法调用静态方法时出现 Powermock 错误
- tensorflow - 如何将卷积层结果图像保存为 png 或 jpg 或任何其他格式?
- javascript - HTML-如何自动生成无限不同的模态?