MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Khởi động mùa xuân mongoDB giống như truy vấn trên các trường số-Integer / Double

Tôi đã quản lý để tạo truy vấn LIKE trên trường kép.

Query query = new Query();
Set<String> gameType = new HashSet<>();
List<Criteria> andCriteria = new ArrayList<>();

String game = "football";
int salary = 250;   

gameType.add(game);

andCriteria.add(Criteria.where("type").in(gameType));
andCriteria.add(Criteria.where("$where").is("/^" + salary + ".*/.test(this.salary)"));

Criteria[] criteriaArray = new Criteria[andCriteria.size()];
criteriaArray = andCriteria.toArray(criteriaArray);
query.addCriteria(new Criteria().andOperator(criteriaArray));

List<Players> players = mongoTemplate.find(query, Players.class);

return players;

Đoạn mã này tạo LIKE như tôi đã đăng ở trên.
Ngoài ra, bạn có thể làm điều đó theo cách đơn giản.

Query query = new Query();
Set<String> gameType = new HashSet<>();
        
String game = "football";
int salary = 250;
        
gameType.add(game);
        
query.addCriteria(Criteria.where("type").in(gameType));
query.addCriteria(Criteria.where("$where").is("/^" + salary + ".*/.test(this.salary)"));

List<Players> players = mongoTemplate.find(query, Players.class);

return players; 

Truy vấn:

db.players.find({
  $and: [{
      "type": {
        $in: ["football"]
      }
    },
    {
      $where : "/^250.*/.test(this.salary)"
    }]
})     

Tôi hy vọng điều này sẽ hữu ích.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dữ liệu rỗng sau khi lưu thực thể bằng Moongose ​​và GraphQL

  2. React Native - không thể nhập mongoose trên giao diện người dùng (nhưng nó hoạt động từ phần phụ trợ)

  3. Cập nhật bằng biểu thức thay vì giá trị

  4. MongoDB:đếm số lượng mục trong một mảng

  5. Sử dụng Aggregate với $ group trong mongodb