我的问题与this one类似,但我使用的是Java Driver。
这是我收藏的文件:
{
"_id": "7",
"servers": [
{
"ip_port": "127.0.0.1:8081",
"name": "server1"
},
{
"ip_port": "127.0.0.1:8082",
"name": "server2"
}
]
}
在查询之后我想得到这样的文档:
{
"ip_port": "127.0.0.1:8081"
}
我试图在Java中翻译链接问题的第二个答案的说明,结果如下:
MongoCursor<Document> cursor = db.getCollection("collection")
.find(and(eq("_id", "7"),
eq("servers.name", "server1")))
.projection(Projections.fields(Projections.elemMatch("servers"), Projections.excludeId()))
.iterator();
但如果我执行此查询并打印cursor.next().toJson()
,这就是我得到的:
{ "server" : [{ "ip_port" : "127.0.0.1:8081", "name" : "server1" }] }
那么如何使用Java Driver在Mongo DB中获取特定的嵌入式文档?