gpt4 book ai didi

java - 如何在 MongoDb 中插入带点字段的嵌入文档

转载 作者:行者123 更新时间:2023-12-01 17:28:05 25 4
gpt4 key购买 nike

假设我有以下 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 不允许在嵌套文档中使用点分字段的文档。

  1. 我该如何解决这个问题?因为Document是动态生成的,所以它可能有几层深度的点状字段。注意:我不想替换“点”符号。

  2. 是否可以将点分字段分解为嵌套字段?

    {"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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com