首页 > 解决方案 > 如何使用 spring-data 检索 mongodb 集合?

问题描述

我想 为给定的shell 查询检索List<Document>MongoDB 集合中的所有文档(例如) 。mongo

标签: javaspringmongodbspring-data-mongodb

解决方案


Document您可以在不映射到域模型的情况下检索集合。不知道你追求的目的是什么,但这里有一个例子:

package com.answers.stackoverflow.spring.mondbretrievedata.data;

import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.List;

@Repository
public class MongoRepository {
    private static final String DatabaseName = "EXAMPLE";
    private static final String CollectionName = "example";

    @Autowired
    private MongoClient client;

    public List<String> allDocuments() {
        final List<String> list = new ArrayList<>();
        final MongoCollection<Document> data = client.getDatabase(DatabaseName).getCollection(CollectionName);
        data.find().map(Document::toJson).forEach(list::add);
        return list;
    }
}

推荐阅读