为了账号安全,请及时绑定邮箱和手机立即绑定

有没有一种简单的方法可以使用 spring boot 从 mongodb 数据库集合中查

有没有一种简单的方法可以使用 spring boot 从 mongodb 数据库集合中查

FFIVE 2023-07-13 14:18:19
我正在构建一个应用程序,它将处理将大量数据插入到各种集合中,然后从 mongodb 数据库中读取它们。由于集合的数量将来会增加很多,并且文档也会获得新的密钥,因此我想在没有实体类的情况下实现我的代码,因为每次进行新的集合/文档更改时都需要更新和添加它们。我已使用“MongoTemplate”成功地将数据插入到所需的集合中,而无需实体类。mongotemplate.insert(map,"mycollection");mongotemplate.find(查询,myentity.class,“mycollection”);我想要一个像这样的方法: mongotemplate.find(query, "mycollection");
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

看一下MongoDB Java 驱动程序。

你可以这样做:

private List<Document> queryCollection(String collectionName) {

    final List<Document> results = new ArrayList<>();

    mongoDatabase.getCollection(collectionName).find(/*FILTER*/).into(results);

    return results;

}


查看完整回答
反对 回复 2023-07-13
?
炎炎设计

TA贡献1808条经验 获得超4个赞

Query query = new Query();

query.addCriteria(Criteria.where("name").is("Eric"));

List<User> users = mongoTemplate.find(query, User.class);

还有其他查找方法,findOne、findById 等,具体取决于哪一种适合您的用例。


如果您不想使用 mongotemplate,则需要使用 BasicDBObject 来实现此目的。


DBCollection collection = database.getCollection("mycollection");

BasicDBObject query = new BasicDBObject();

query.put("mykey", "keyvalue");

DBCursor cursor = collection.find(query);

您将使用的依赖项是具有最新发行版本的 mongo java 驱动程序:


<dependency>

    <groupId>org.mongodb</groupId>

    <artifactId>mongo-java-driver</artifactId>

    <version>3.11.0</version>

</dependency>


查看完整回答
反对 回复 2023-07-13
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信