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

Làm thế nào để tìm bộ sưu tập mã với regex và các tiêu chí phức tạp bằng cách sử dụng trình điều khiển Java MongoDB?

Tạo truy vấn thực sự chỉ là tạo biểu diễn tài liệu BSON, về cơ bản chỉ là giao diện giống như giao diện HashMap hoặc List tiêu chuẩn nếu thích hợp:

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

Trường hợp đó về cơ bản giống với cách bạn đang cấu trúc các truy vấn trong MongoDB shell.

Ngoài ra, bạn có thể sử dụng giao diện trình tạo nếu điều đó có vẻ hợp lý hơn với bạn:

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

Về cơ bản, cả hai biểu mẫu đều cấu trúc BSON cho cả hai thành phần "truy vấn" và "chiếu" và cấp chúng dưới dạng đối số cho .find() phương pháp. Ngoài ra còn có các định nghĩa loại lớp nếu phù hợp với bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose - Không thể tạo nhiều hơn 4 trường bằng cách sử dụng `findOrCreate`

  2. Meteor:mã thoát mongo không mong muốn 100

  3. Tìm kiếm toàn bộ và một phần văn bản trong MongoDB

  4. Tác động đến hiệu suất của kiểu dữ liệu chỉ mục trong MongoDB?

  5. Xử lý ISODate của MongoDB () khi cố gắng phân tích cú pháp một chuỗi JSON được tuần tự hóa