![](/img/trans.png)
[英]Filter embedded Array object in mongodb document using Java driver
[英]How to get specific values of an embedded document Array in MongoDB using Java Driver
我试图从数组中的每个嵌入式文档中获取所有站点名称。我尝试使用以下语法,但没有用
(sites。$。site)
{
"user" : "username",
"sites" : [{
"sitename" : "site.com",
"url" : "site.com",
}, {
"sitename" : "site2.com",
"url" : "site2.com",
},{
"sitename" : "site2.com",
"url" : "site2.com",
}]
}
Mongo-java,
MongoClient mongoClient = new MongoClient("localhost",27017);
MongoDatabase database = mongoClient.getDatabase("Test");
MongoCollection<Document> collection = database.getCollection("collection");
ArrayList<Document> doc = new ArrayList<Document>();
doc.add(new Document().append("$unwind","$sites"));
doc.add(new Document().append("$project",new Document().append("sitename","$sites.sitename")));
List<Document> results =collection.aggregate(doc).into(new ArrayList<Document>());
for(Document res: results){
System.out.println(res.toJson());
}
输出:
{ "_id" : { "$oid" : "58c26ce044400b08ca6ff483" }, "sitename" : "site.com" }
{ "_id" : { "$oid" : "58c26ce044400b08ca6ff483" }, "sitename" : "site2.com" }
{ "_id" : { "$oid" : "58c26ce044400b08ca6ff483" }, "sitename" : "site2.com" }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.