簡體   English   中英

如何使用 spring-data 檢索 mongodb 集合?

[英]How can I retrieve a mongodb collection using spring-data?

我想檢索給定mongo shell 查詢的 MongoDB 集合中所有文檔的List<Document> (例如)。

您可以在不將Document映射到域 model 的情況下檢索集合。 不知道你追求的目的是什么,但這里有一個例子:

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;
    }
}

當您使用MongoRepository時,您必須提供一個PersistentEntity 因此,請使用將由 MongoRepository 擴展的MongoRepository

public interface YOUR_MODEL_Repository extends MongoRepository<MODEL_CLASS, String> {

}

有關詳細信息,請參閱Product -> getAttributes()上的示例官方訪問Spring 數據 - Mongo DB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM