我想用 Java 创建一个 MongoDB 文档以插入到我的 MongoDB 集合中。目前,我正在使用的 MongoDB 文档中没有文档列表,我想向其中添加一个。
我的文档应该如下所示:
{
id : 1,
events : [
{ event_id : 1, processed : false},
{ event_id : 2, processed : false},
.
.
],
assigned_user : 32
}
Run Code Online (Sandbox Code Playgroud)
为了创建 MongoDB 文档,我被迫创建一个
Map<String, Object> dataFields
Run Code Online (Sandbox Code Playgroud)
然后将其转换为 MongoDB 文档。
因此,要添加我需要的文档列表,我想创建
List<Document> events
Run Code Online (Sandbox Code Playgroud)
然后为我需要的每个事件创建一个文档,然后将其添加到events.
最后,我只需将列表添加events到映射中dataFields,然后创建最终的 MongoDB 文档。
这行得通吗?如果不是的话,缺陷是什么?逻辑还是实现?
如果您有想法,请尝试一下。如果您的项目环境不允许您尝试,请将其沙箱化。我会尝试一下,但是我的 Java 很生疏,而且我这台计算机上没有\xe2\x80\x99t 的 JDK。从这个开始:
\npublic class MongoSandbox {\n\n public static void main(String[] args) throws UnknownHostException {\n\n // Connect to the local test db\n MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017/test");\n MongoClient client = new MongoClient(uri);\n MongoDatabase db = client.getDatabase(uri.getDatabase());\n\n // Get a test collection\n MongoCollection<Document> docs = db.getCollection("docs");\n\n // Create a dummy list of events\n List<Document> events = new ArrayList<Document>();\n events.add(new Document("random", "data"));\n events.add(new Document("random", "data2"));\n events.add(new Document("random", "data3"));\n\n // Create your main document\n Document mainDoc = new Document("events", events);\n docs.insert(mainDoc);\n\n client.close();\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4588 次 |
| 最近记录: |