MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да намеря колекция от кодове с регулярен израз и сложни критерии с помощта на Java MongoDB драйвер?

Конструирането на заявки всъщност е просто създаване на представяне на BSON документ, което по същество е същият интерфейс като стандартните HashMap или List интерфейси според случая:

    Document query = new Document("objectKey",new Document( "$regex","Bos"))
        .append("cacheVersionString","08/03/15_11:05:09");

    Document projection = new Document("_id",0)
        .append("objectData",0)
        .append("lastModified",0)
        .append("productCode",0);

    MongoCursor<Document> cursor = collection.find(query).projection(projection).iterator();

Където това е основно идентично с начина, по който структурирате заявките в обвивката на MongoDB.

Като алтернатива можете да използвате интерфейси на създател, ако това ви се струва по-логично:

    QueryBuilder builder = QueryBuilder.start();

    builder.and("objectKey").regex(Pattern.compile("box"));
    builder.and("cache_version_string").is("08/03/15_11:05:09");

    BasicDBObject query = (BasicDBObject)builder.get();

    Bson projection = Projections.exclude(
            "_id",
            "obectdata",
            "lasModified",
            "productCode"
    );

    MongoCursor<Document> cursor = collection.find(query).projection(projection).iterator();

    while (cursor.hasNext()) {
        Document doc = cursor.next();
        System.out.println(doc.toJson());
    }

И двата формуляра по същество конструират BSON както за компонентите „query“, така и за „projection“ и ги издават като аргументи на .find() метод. Има и дефиниции на типове класове, ако това ви устройва.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да извлечете частични обекти от обектен масив в поле в mongodb

  2. Как да получите двоичен поток от GridFS ObjectId с Spring Data MongoDB

  3. passport.js - удостоверява потребители от MongoDB с passport-local

  4. Най-добрият начин за представяне на многоезична база данни в mongodb

  5. Как да използвате $regex в $or като агрегиращ израз