2
我正在尝试将文档添加到子文档中,但未添加。MongoDB/Java:在子文档中插入文档
这是代码:
MongoClient mongo = new MongoClient("localhost", 27017);
DB db = mongo.getDB("testdb");
DBCollection test = db.getCollection("test");
BasicDBObject document = new BasicDBObject();
document.put("username", "user");
test.insert(document);
BasicDBObject document1 = new BasicDBObject();
document1.put("title", "test1");
BasicDBObject updateCommand = new BasicDBObject();
updateCommand.put("$addToSet", new BasicDBObject("test", document1));
test.update(document, updateCommand);
BasicDBObject document2 = new BasicDBObject();
document2.put("title", "test2");
BasicDBObject updateCommand1 = new BasicDBObject();
updateCommand1.put("$addToSet", new BasicDBObject("test", document2));
test.update(document1, updateCommand1);
结果是:
{
"_id" : ObjectId("5321c6b0c2e682dc2fb97774"),
"test" : [
{
"title" : "test1"
}
],
"username" : "user"
}
正如你可以看到不加test2的,我想不通为什么:(
UPDATE :这是我擅长的代码
"_id" : ObjectId("5321caa63b81968cb5f23d8c"),
"test" : [
{
"title" : "test1"
"test" : [
{
"test" : "test2"
}]
},
{
"title" : "test2"
}
],
"username" : "user1"
我认为问题在于你的查询文档在最后一行是错误的。它应该是类似于 'test.update(document,updateCommand1);' – evanchooly
我希望test2在IN test1不在其旁边 –