一个很快的问题,我将如何在下面做到这一点:
> db.blog.posts.findOne()
{
"_id" : ObjectId("4b253b067525f35f94b60a31"),
"title" : "A Blog Post",
"content" : "...",
"author" : {
"name" : "joe",
"email" : "joe@example.com"
}
}
我在Javascript中看到的答案是:
> db.blog.posts.update({"author.name" : "joe"}, {"$set" : {"author.name" : "joe schmoe"}})
但是我该如何在Java中做到这一点呢?
如果我有一个非常深层的值必须更改,我应该使用这种方式吗?比如:"person.abc.xyz.name.address"?
使用点表示法访问嵌套文档在Java驱动程序中运行良好。看看这个StackOverflow答案:
MongoDB嵌套文档搜索
对于Java驱动程序,其基本思想是用BasicDBObject的实例替换Javascript对象。
这里有另一个很好的更新参考:
MongoDb';s$在其java驱动程序中设置等价项