use*_*796 16 mongodb mongodb-java
我想使用java驱动程序在mongoDB中创建以下文档架构
{
"_id": {
"$oid": "513e9820c5d0d8b93228d7e8"
},
"suitename": "testsuite_name",
"testname": "testcase_name",
"milestones": [
{
"milestone_id": "359",
"testplans": [
{
"pland_id": "965",
"runs": [
6985,
5896
]
},
{
"plan_id": "984",
"runs": [
9856,
3684
]
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我有以下代码
BasicDBObject testObject = new BasicDBObject();
BasicDBObject milestoneObject = new BasicDBObject();
testObject.put("suitename", testsuite);
testObject.put("testname", testcase);
testObject.put("milestones", new BasicDBObject("milestone_id", "2333"));
locations.insert(testObject);
Run Code Online (Sandbox Code Playgroud)
但这并不像阵列那样产生里程碑.如何将里程碑添加为数组?我目前使用我的代码得到这个
{
"_id": {
"$oid": "513f93dac5d0e2439d34308e"
},
"suitename": "test_deployment_disable_client.TestDeploymentDisableClient",
"testname": "test_deployment_disable_client",
"milestones": {
"milestone_id": "2333"
}
}
Run Code Online (Sandbox Code Playgroud)
Ori*_*Dar 39
换成这样的东西:
testObject.put("suitename", testsuite);
testObject.put("testname", testcase);
List<BasicDBObject> milestones = new ArrayList<>();
milestones.add(new BasicDBObject("milestone_id", "2333"));
testObject.put("milestones", milestones);
locations.insert(testObject);
Run Code Online (Sandbox Code Playgroud)
您可以创建一个接受 DBObjects 的 ArrayList。
List<DBObject> array = new ArrayList<DBObject>();
Run Code Online (Sandbox Code Playgroud)
为数组内的对象添加创建的 DBObject,并将其添加到创建的数组对象中。
array.add(/* some object */);
Run Code Online (Sandbox Code Playgroud)
最后,将数组放入主文档对象中。
document.put("milestones", array);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45864 次 |
| 最近记录: |