繁体   English   中英

如何使用Java检索mongodb中文档字段的值列表?

[英]How can I retrieve a list of values of a field of a document in mongodb using java?

我希望在String数组或ArrayList(Java)中检索“注释”字段的值。 请参考图片链接或指定的以下mongodb条目:

{ 
"_id" : ObjectId("56740295f0a1e82444261cd4"), 
"Title" : "Campus", 
"Description" : "Nice",
"City" : "Delhi",
"Venue" : "Paschim Vihar",
"Lab" : "Lab1",
"Tags" : [ "people", " building" ],
"UploadDate" : ISODate("2015-12-18T12:56:51.589Z"),
"MediaCreationDate" : ISODate("0015-01-09T18:41:00Z"),
"Likes" : 0,
"Dislikes" : 0,
"Video Hash" : "56740295f0a1e82444261cd4157",
"Url" : "56740295f0a1e82444261cd4157",
"comments" : [ "Hello Sir", "Hello World" ] 
}

在“注释字段”中包含值列表的文档条目

只是一个初学者。 谢谢。

首先,您需要在应用程序中添加mongodb驱动程序。 例如,对于maven:

     <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.1.0</version>
    </dependency>

然后,您需要编写如下代码:

import static com.mongodb.client.model.Filters.*;

public class FindTest {
    public static void main(String[] args)  {
        //Connect to your mongodb instance
        MongoClient client = new MongoClient();

        //Connect to your database
        MongoDatabase db = client.getDatabase("try123");

        //Connect to your collection
        MongoCollection<Document> collection = db.getCollection("one");

        //Execute query to database
        List<Document> myDocs = collection.find(eq("Title", "Campus")).projection( Projections.include("comments")).into(new ArrayList<Document>());

        //Print result
        for (Document d : myDocs) {
            ArrayList<String> comments = (ArrayList<String>)d.get("comments");
            System.out.println(comments);
        }

        client.close();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM