如何使用 spring 数据检索 mongodb 集合?
How can I retrieve a mongodb collection using spring-data?
我想检索 List<Document>
(作为示例)给定 mongo
shell 查询的 MongoDB 集合中的所有文档。
当你使用MongoRepository
时,你必须给一个PersistentEntity
。所以使用你的模型 class 将被 MongoRepository
扩展
public interface YOUR_MODEL_Repository extends MongoRepository<MODEL_CLASS, String> {
}
参见 Product -> getAttributes() for more details visit Spring Data - Mongo DB
上的示例官方
您可以在不映射 Document
到域模型的情况下检索集合。
不确定你追求的目的是什么,但这里有一个例子:
package com.answers.Whosebug.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;
}
}
我想检索 List<Document>
(作为示例)给定 mongo
shell 查询的 MongoDB 集合中的所有文档。
当你使用MongoRepository
时,你必须给一个PersistentEntity
。所以使用你的模型 class 将被 MongoRepository
public interface YOUR_MODEL_Repository extends MongoRepository<MODEL_CLASS, String> {
}
参见 Product -> getAttributes() for more details visit Spring Data - Mongo DB
上的示例官方您可以在不映射 Document
到域模型的情况下检索集合。
不确定你追求的目的是什么,但这里有一个例子:
package com.answers.Whosebug.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;
}
}