Maison  >  Article  >  Java  >  Exemple de partage de code pour l'exploitation d'une requête mongoDB en Java

Exemple de partage de code pour l'exploitation d'une requête mongoDB en Java

黄舟
黄舟original
2017-09-25 10:19:121704parcourir

Cet article présente principalement des informations pertinentes sur des exemples détaillés de requête mongo d'opération Java. J'espère que cet article pourra aider tout le monde. Les amis dans le besoin peuvent se référer à

exemples détaillés de requête mongo d'opération Java <.>

Avant-propos :

MongoDB est une base de données basée sur le stockage de fichiers distribués. Écrit en langage C++. Conçu pour fournir des solutions de stockage de données évolutives et performantes pour les applications WEB.


MongoDB est un produit entre une base de données relationnelle et une base de données non relationnelle. C'est la base de données non relationnelle la plus riche en fonctionnalités et ressemble le plus à une base de données relationnelle. La structure de données qu'il prend en charge est très lâche et est un format bson similaire à json, il peut donc stocker des types de données plus complexes. La plus grande caractéristique de Mongo est que le langage de requête qu'il prend en charge est très puissant. Sa syntaxe est quelque peu similaire à un langage de requête orienté objet. Il peut presque implémenter la plupart des fonctions similaires aux requêtes à table unique dans les bases de données relationnelles, et il prend également en charge l'indexation. de données.


Il est très pratique d'effectuer une requête dans l'outil de visualisation, similaire à {' key' : 'value' }. Ce type de requête est également similaire à une requête avancée, par exemple si la valeur de. un certain champ est supérieur à 5, nous le ferons. Vous pouvez interroger {' key' : { $gt : 5} }, grâce au stockage orienté collection de monggo, qui stocke les données de type objet (données binaires BSON de JSON). très pratique, et d'autres requêtes avancées, par exemple, s'il est inférieur à $lt, supérieur ou égal à $gte, inférieur ou égal à $lte, dans une certaine plage $in, pas dans une certaine plage $nin, etc., ils peuvent tous être interrogés via la méthode ci-dessus.


Affichez maintenant du code en Java pour manipuler la requête Mongo via Java. Il comprend une requête de correspondance exacte, une requête avancée, une requête dans deux intervalles de temps, une requête floue, une implémentation de pagination et d'autres requêtes.

Voir le code pour plus de détails.



try { 
  System.out.println("=========********测试3开始**********===========*************"); 
  //先获取mongo库的集合DBCollection对象 
  DBCollection data = (DBCollection) mongoClientService.getColectionByName("mongo库集合名称"); 
   
  BasicDBObject query3 = new BasicDBObject(); 
  query3.put("name","Tom");//查找姓名为Tom 
 
  //查询两个时间范围的,用map包装一下 
  Map<String, Object> queryMap = new HashMap<>(); 
  queryMap.put("$gt", "1496911821071"); 
  queryMap.put("$lt", "1496915447871"); 
    query3.put("timeStamp", new BasicDBObject(queryMap)); 
    //模糊匹配rule查询 
    query3.put("businessRuleName", new BasicDBObject("$regex","rule")); 
    DBCursor result3 = data.find(query3); 
   
  String resultCode = "4"; 
  if ("4".equals(resultCode)) { 
    BasicDBList cond = new BasicDBList(); 
    cond.add("0"); 
    cond.add("1"); 
    cond.add("2"); 
    cond.add("3"); 
    query3.put("resultCode", new BasicDBObject("$nin", cond));//查询resultCode不是0,1,2,3的 
  } 
    System.out.println(result3.count());//count()方法得到查询到的记录数 
 
    result3.skip(10).limit(20);//分页,skip():从第几条开始,limit():限制返回的条数 
 
  while (result3.hasNext()) { 
    DBObject dbObject = (DBObject) result3.next(); 
    System.out.println(JSON.serialize(dbObject)); 
    System.out.println("------------"); 
  } 
  System.out.println(result3.count());// 
  System.out.println("=========********测试3结束**********===========*************"); 
} catch (Exception e) { 
  e.printStackTrace(); 
  System.out.println("---------测试3异常了----------"); 
}
Ce qui précède contient des exemples de nombreuses façons d'interroger. Les quatre classes principales sont DBCollection, BasicDBObject, DBCursor et BasicDBList. Elles sont à titre de référence uniquement. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn