• springboot mongodb jpa常用方法整理


    官方文档https://docs.spring.io/spring-data/data-mongodb/docs/current/reference/html/index.html

    查询:

    ***************************************************************************

    mongoTemple查询和修改

    @Autowired
    MongoTemplate mongoTemp;

    Criteria criteria = Criteria.where("name").regex("www").andOperator(Criteria.where("creatTime").gte(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2018-06-20 21:48:54")));
    mongoTemp.find(new Query(criteria), Movie.class);

    **************************************************************************

    List<User> findByName(String name);

    List<User> findByNameAndAge(String name,String age);

    long countByName(String name);

    原生查询语句

    @Query(value="{'$and':[{'name':{'$regex':?0}}]}")
    public List<Movie> findByName(String name);

    KeywordSampleLogical result

    After

    findByBirthdateAfter(Date date)

    {"birthdate" : {"$gt" : date}}

    GreaterThan

    findByAgeGreaterThan(int age)

    {"age" : {"$gt" : age}}

    GreaterThanEqual

    findByAgeGreaterThanEqual(int age)

    {"age" : {"$gte" : age}}

    Before

    findByBirthdateBefore(Date date)

    {"birthdate" : {"$lt" : date}}

    LessThan

    findByAgeLessThan(int age)

    {"age" : {"$lt" : age}}

    LessThanEqual

    findByAgeLessThanEqual(int age)

    {"age" : {"$lte" : age}}

    Between

    findByAgeBetween(int from, int to)

    {"age" : {"$gt" : from, "$lt" : to}}

    In

    findByAgeIn(Collection ages)

    {"age" : {"$in" : [ages…​]}}

    NotIn

    findByAgeNotIn(Collection ages)

    {"age" : {"$nin" : [ages…​]}}

    IsNotNullNotNull

    findByFirstnameNotNull()

    {"firstname" : {"$ne" : null}}

    IsNullNull

    findByFirstnameNull()

    {"firstname" : null}

    LikeStartingWithEndingWith

    findByFirstnameLike(String name)

    {"firstname" : name} (name as regex)

    NotLikeIsNotLike

    findByFirstnameNotLike(String name)

    {"firstname" : { "$not" : name }} (name as regex)

    Containing on String

    findByFirstnameContaining(String name)

    {"firstname" : name} (name as regex)

    NotContaining on String

    findByFirstnameNotContaining(String name)

    {"firstname" : { "$not" : name}} (name as regex)

    Containing on Collection

    findByAddressesContaining(Address address)

    {"addresses" : { "$in" : address}}

    NotContaining on Collection

    findByAddressesNotContaining(Address address)

    {"addresses" : { "$not" : { "$in" : address}}}

    Regex

    findByFirstnameRegex(String firstname)

    {"firstname" : {"$regex" : firstname }}

    (No keyword)

    findByFirstname(String name)

    {"firstname" : name}

    Not

    findByFirstnameNot(String name)

    {"firstname" : {"$ne" : name}}

    Near

    findByLocationNear(Point point)

    {"location" : {"$near" : [x,y]}}

    Near

    findByLocationNear(Point point, Distance max)

    {"location" : {"$near" : [x,y], "$maxDistance" : max}}

    Near

    findByLocationNear(Point point, Distance min, Distance max)

    {"location" : {"$near" : [x,y], "$minDistance" : min, "$maxDistance" : max}}

    Within

    findByLocationWithin(Circle circle)

    {"location" : {"$geoWithin" : {"$center" : [ [x, y], distance]}}}

    Within

    findByLocationWithin(Box box)

    {"location" : {"$geoWithin" : {"$box" : [ [x1, y1], x2, y2]}}}

    IsTrueTrue

    findByActiveIsTrue()

    {"active" : true}

    IsFalseFalse

    findByActiveIsFalse()

    {"active" : false}

    Exists

    findByLocationExists(boolean exists)

    {"location" : {"$exists" : exists }}

    KeyWord可以用and方法连起来。

    例如:

    List<DiscountCode> findFirst5ByActivityIdInAndEndTimeAfterAndStatus(List<ObjectId> activityIds, Date endTime,String status);

    删除:

    List <Person> deleteByLastname(String lastname);

    Long deletePersonByLastname(String lastname);
  • 相关阅读:
    .NET简谈插件系统开发模式
    .NET实现之(自动更新)
    .NET简谈互操作(二:先睹为快)
    .NET实现之(WebBrowser数据采集—基础篇)
    .NET简谈设计模式之(观察者模式)
    .NET简谈平台大局观
    .NET实现之(简易ORM)
    .NET简谈面向接口编程
    .NET简谈事件与委托
    .NET实现之(WebBrowser数据采集—终结篇)
  • 原文地址:https://www.cnblogs.com/zincredible/p/9206655.html
Copyright © 2020-2023  润新知