MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Spring boot mongoDB seperti kueri pada bidang numerik-Integer/Double

Saya berhasil membuat kueri LIKE di bidang ganda.

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;

Cuplikan kode ini menghasilkan LIKE seperti yang saya posting di atas.
Anda juga dapat melakukannya dengan cara yang sederhana.

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; 

Pertanyaan:

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

Saya harap ini akan membantu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:cara menemukan dokumen yang mengabaikan case sensitif, aksen, dan persen seperti logika (%)

  2. Pemantauan Database Tanpa Agen dengan ClusterControl

  3. Cara menggunakan operator $in di mongodb dengan dua bidang di java

  4. Meteor - collection.find() selalu mengembalikan semua bidang

  5. Pencarian teks luwak dengan operator AND