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

Bagaimana cara menemukan koleksi kode dengan regex dan kriteria kompleks menggunakan driver Java MongoDB?

Membangun kueri sebenarnya hanya membuat representasi dokumen BSON, yang pada dasarnya hanya antarmuka yang sama dengan antarmuka HashMap atau Daftar standar yang sesuai:

    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();

Di mana itu pada dasarnya identik dengan bagaimana Anda menyusun kueri di shell MongoDB.

Sebagai alternatif, Anda dapat menggunakan antarmuka pembuat jika menurut Anda lebih logis:

    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());
    }

Kedua formulir pada dasarnya membuat BSON untuk komponen "permintaan" dan "proyeksi" dan mengeluarkannya sebagai argumen ke .find() metode. Ada juga definisi tipe kelas jika itu cocok untuk Anda.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apakah mungkin menggunakan proyeksi kueri pada koleksi yang sama yang memiliki proyeksi $elemMatch?

  2. Jarak/radius geo MongoDB ke unit yang berguna

  3. Cara mendapatkan aliran biner oleh GridFS ObjectId dengan Spring Data MongoDB

  4. Pesan Kesalahan:MongoError:Otentikasi buruk gagal melalui string URI

  5. Bagaimana cara menyimpan nilai sesi dengan Node.js dan mongodb?