我想为给定的mongo
shell查询检索MongoDB集合中所有文档的List<Document>
(作为示例(。
您可以在不将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;
}
}
使用MongoRepository
时,必须给出PersistentEntity
。所以使用您的模型类,它将由MongoRepository
扩展
public interface YOUR_MODEL_Repository extends MongoRepository<MODEL_CLASS, String> {
}
请参阅产品官方示例->getAttributes((了解更多详细信息,请访问Spring Data-Mongo DB