Java動態構造mongo語句

備忘……

 

maven:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

 

Java代碼:

@Resource
private MongoTemplate mongoTemplate;

Query query = new Query();
// 第一個條件:
Criteria criteria = Criteria.where("name").is("張三");
// 第二個條件:
criteria.andOperator(
    Criteria.where("registerTime").gte(startDate),
    Criteria.where("registerTime").lt(endDate)
);
query.addCriteria(criteria);
// 第三個條件:
query.addCriteria(Criteria.where("數組").size(BaseConstant.NUMBER_ZERO));
query.addCriteria(Criteria.where("JSON對象").ne(new BasicDBObject()));

// 執行
long count = mongoTemplate.count(query, "collection名");

 

以上結果,mongo語句類似:

db.collecion名.find({
    name: "張三",
    registerTime: {
        $gte: ISODate("開始時間"),
        $lt: ISODate("結束時間")
    },
    "數組": { 
        "$size": 0 
    },
    "JSON對象": {
        $ne: {}
    }
}).count()

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章