0

一个非常快速的问题,我将如何在下面执行此操作:

> 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”?

4

1 回答 1

1

使用点表示法访问嵌套文档在 Java 驱动程序中可以很好地工作。看看这个 StackOverflow 答案:

MongoDB 嵌套文档搜索

对于 Java 驱动程序,基本思想是将 Javascript 对象替换为 BasicDBObject 的实例。

这是另一个很好的更新参考:

MongoDb 在其 java 驱动程序中的 $set 等效项

于 2012-09-04T15:34:54.633 回答