gpt4 book ai didi

java - 如何使用 Java 驱动程序获取 MongoDB 中嵌入文档数组的特定值

转载 作者:行者123 更新时间:2023-12-02 13:41:39 24 4
gpt4 key购买 nike

我尝试的是从数组中的每个嵌入文档中获取所有站点名称。我尝试使用以下语法但没有工作

( 站点.$.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" }

关于java - 如何使用 Java 驱动程序获取 MongoDB 中嵌入文档数组的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42714220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com