spring 中,mongodb Query用法
Spring Data MongoDB在Java应用程序中集成MongoDB的方式是定义一个Repository接口,然后Spring会自动为你实现这个接口。以下是Spring Data MongoDB Query的一些基本示例:
查找所有文档: 你可以定义一个没有参数的方法来查询所有的文档。
public interface MyRepository extends MongoRepository<MyDocument, String> {
List<MyDocument> findAll();
}
查找特定字段: 你可以通过在方法名中包含字段名和值类型来创建查询。例如,通过"name"查找所有的文档:
public interface MyRepository extends MongoRepository<MyDocument, String> {
List<MyDocument> findByName(String name);
}
多字段查找: 你也可以在方法名中包含多个字段名来进行查询。例如,通过"name"和"age"查找所有的文档:
public interface MyRepository extends MongoRepository<MyDocument, String> {
List<MyDocument> findByNameAndAge(String name, Integer age);
}
比较运算符: 你可以在方法名中包含诸如
GreaterThan
、LessThan
、Between
等关键字来使用比较运算符。例如,查找所有年龄大于30的文档:public interface MyRepository extends MongoRepository<MyDocument, String> {
List<MyDocument> findByAgeGreaterThan(Integer age);
}
自定义查询: 使用
@Query
注解,你可以直接写MongoDB的查询字符串。例如,查找所有年龄大于30的文档:public interface MyRepository extends MongoRepository<MyDocument, String> {
@Query("{ 'age' : { $gt: ?0 } }")
List<MyDocument> findWithAgeGreaterThan(Integer age);
}
这些示例假设你有一个名为MyDocument
的类映射到你的MongoDB集合,并且你正在使用Spring Data MongoDB的`Mongo