Java mongodb ví dụ thô

Lượt xem. 1.153

MongoDB là một cơ sở dữ liệu NoSQL

Java mongodb ví dụ thô
Trong bài viết này mình tổng hợp tất cả các bài viết về MongoDB của Hướng Dẫn Java để các bạn tham khảo

Cài đặt

  • Cài đặt MongoDB trên Windows

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách chúng ta có thể cài đặt MongoDB trong Window

  • Cài đặt MongoDB trên macOS

Trong hướng dẫn này, tôi sẽ chỉ cho bạn tất cả cách cài đặt MongoDB trên macOS

Thao tác

  • Tạo cơ sở dữ liệu trong MongoDB

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo cơ sở dữ liệu trong MongoDB

  • Xóa cơ sở dữ liệu trong MongoDB

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách xóa cơ sở dữ liệu trong MongoDB

  • Sao lưu và phục hồi cơ sở dữ liệu MongoDB

Trong hướng dẫn này, tôi sẽ hướng dẫn tất cả các bạn cách sao lưu và khôi phục cơ sở dữ liệu MongoDB

  • Tạo và cấp quyền truy cập cho người dùng MongoDB

Trong hướng dẫn này, tôi sẽ hướng dẫn tất cả các bạn cách tạo và cấp quyền truy cập cho người dùng MongoDB

Cách sử dụng

  • Thao tác với MongoDB trong ứng dụng Java

Trong hướng dẫn này, tôi sẽ hướng dẫn tất cả các bạn cách thao tác với MongoDB trong ứng dụng Java

Ở bài viết trước tôi đã hướng dẫn thêm dữ liệu trong MongoDB. Tiếp tục bài viết này, tôi sẽ hướng dẫn truy vấn dữ liệu trong MongoDB Sử dụng Java

Toán tử truy vấn

MongoDB Java có 2 chức năng chính để thao tác truy vấn

  • tìm thấy(). tìm kiếm tất cả tài liệu trong Bộ sưu tập
  • tìm (truy vấn Bson). tìm kiếm tài liệu với điều kiện truy vấn

Danh sách các toán tử so sánh được sử dụng trong truy vấn

  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    3 (Bằng). Thỏa mãn các giá trị bằng với một giá trị được chỉ định
  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    4 (Lớn hơn). Thỏa mãn các giá trị lớn hơn giá trị được chỉ định
  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    5 (Lớn hơn hoặc Bằng). Thỏa mãn các giá trị lớn hơn hoặc bằng một giá trị được chỉ định
  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    6 (Nhỏ hơn). Thỏa mãn các giá trị nhỏ hơn giá trị được chỉ định
  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    7 (Nhỏ hơn hoặc Bằng). Thỏa mãn các giá trị nhỏ hơn hoặc bằng một giá trị được chỉ định
  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    8 (Vào). Thỏa mãn với bất kỳ giá trị nào được chỉ định trong một mảng
  • private static void findAllExample(String ip, int port, String databaseName, String collection) {
        QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
        List postList = queryDocument.findAll(collection, Post.class);
        System.out.println("--- Document trong Collection Post ---");
        postList.forEach(post -> System.out.println(post.toString()));
        System.out.println("--- End ---");
    }
    9 (Không tham gia). Thỏa mãn với không có giá trị nào được định sẵn trong một mảng

Danh sách các phép toán truy vấn logic

  • OUTPUT:
    --- Document trong Collection Post ---
    Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
    Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
    Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
    Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
    Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
    --- End ---
    0. Chỉ ra kết quả trả về của toán tử là phụ kiện của tất cả các điều kiện truy vấn
  • OUTPUT:
    --- Document trong Collection Post ---
    Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
    Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
    Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
    Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
    Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
    --- End ---
    1. Toán tử chỉ đưa ra kết quả trả về là bất kỳ đối tượng nào trong các điều kiện truy vấn
  • OUTPUT:
    --- Document trong Collection Post ---
    Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
    Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
    Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
    Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
    Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
    --- End ---
    2. Toán tử đảo ngược truy vấn, kết quả trả về không thỏa mãn điều kiện truy vấn
  • OUTPUT:
    --- Document trong Collection Post ---
    Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
    Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
    Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
    Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
    Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
    --- End ---
    3. Toán tử chi ra để đảo ngược truy vấn, kết quả trả về không đủ tiêu chuẩn cho tất cả các điều kiện truy vấn

Tài liệu truy vấn

Tôi xây dựng lớp bao gồm 2 chức năng

  • tìm tất cả (). Chức năng tìm kiếm tất cả tài liệu trong Bộ sưu tập
  • tìm (truy vấn Bson). Chức năng tìm kiếm tài liệu với điều kiện truy vấn

ví dụ

  1. Ví dụ về dữ liệu - Xây dựng các tài liệu Đăng và thêm vào Cơ sở dữ liệu để lấy dữ liệu truy vấn

private static void initDataExample(String ip, int port , String databaseName, String collection) {
    InsertDocument insertDocument = new InsertDocument(ip, port, databaseName);

    insertDocument.insertMany(collection, Post.class,
            Post.builder().id(UUID.randomUUID().toString()).title("Mongodb").user("Hungcdev").content("MongoDB Tutorial").view(100).enable(true).build(),
            Post.builder().id(UUID.randomUUID().toString()).title("Spring").user("Hungcdev").content("Spring Tutorial").view(200).enable(false).build(),
            Post.builder().id(UUID.randomUUID().toString()).title("Java").user("AtomPtit").content("Java Tutorial").view(300).enable(true).build(),
            Post.builder().id(UUID.randomUUID().toString()).title("Spring Boot").user("AtomPtit").content("Spring Boot Tutorial").view(400).enable(true).build(),
            Post.builder().id(UUID.randomUUID().toString()).title("PHP").user("HungHoi").content("PHP Tutorial").view(500).enable(true).build()
    );
}

  1. Find All - Tìm kiếm tất cả tài liệu trong bộ sưu tập

private static void findAllExample(String ip, int port, String databaseName, String collection) {
    QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
    List postList = queryDocument.findAll(collection, Post.class);
    System.out.println("--- Document trong Collection Post ---");
    postList.forEach(post -> System.out.println(post.toString()));
    System.out.println("--- End ---");
}

OUTPUT:
--- Document trong Collection Post ---
Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
--- End ---

  1. Equals - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Equals ($eq)

OUTPUT:
--- Document trong Collection Post voi Filter{fieldName='enable', value=true}---
Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
--- End ---

  1. Not Equals - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Not Equals ($ne)

OUTPUT:
--- Document trong Collection Post voi Operator Filter{fieldName='user', operator='$ne', value=Hungcdev}---
Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
--- End ---

  1. In - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh In ($in)

OUTPUT:
--- Document trong Collection Post voi Operator Filter{fieldName='title', operator='$in', value=[Mongodb, Spring, Java]}---
Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
--- End ---

  1. Not In - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Not In ($nin)

OUTPUT:
--- Document trong Collection Post voi Operator Filter{fieldName='title', operator='$nin', value=[Mongodb, Spring, Java]}---
Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
--- End ---

  1. Greater Than - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Greater Than ($gt)

OUTPUT:
--- Document trong Collection Post voi Operator Filter{fieldName='view', operator='$gt', value=300}---
Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
--- End ---

  1. Greater Than or Equals - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Greater Than hoặc Equals ($gte)

OUTPUT:
--- Document trong Collection Post voi Operator Filter{fieldName='view', operator='$gte', value=300}---
Post(id=f8c905a4-722c-4534-a0c8-5885cda09b17, title=Java, user=AtomPtit, content=Java Tutorial, tags=null, postQuality=null, view=300, enable=true)
Post(id=b62206a3-9ec4-41e3-be6f-8d15f3ec60b7, title=Spring Boot, user=AtomPtit, content=Spring Boot Tutorial, tags=null, postQuality=null, view=400, enable=true)
Post(id=0f83f9ff-c154-4f80-9e80-4b21cc44f51e, title=PHP, user=HungHoi, content=PHP Tutorial, tags=null, postQuality=null, view=500, enable=true)
--- End ---

  1. Ít hơn - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Ít hơn ($lt)

OUTPUT:
--- Document trong Collection Post voi Operator Filter{fieldName='view', operator='$lt', value=300}---
Post(id=cba2a7aa-5f14-40ba-b014-ad40392e6cc2, title=Mongodb, user=Hungcdev, content=MongoDB Tutorial, tags=null, postQuality=null, view=100, enable=true)
Post(id=4f884ef3-da16-4ef4-bae6-9bdbb5e6d6d1, title=Spring, user=Hungcdev, content=Spring Tutorial, tags=null, postQuality=null, view=200, enable=false)
--- End ---

  1. Ít hơn hoặc bằng - Tìm kiếm các tài liệu trong bộ sưu tập với điều kiện so sánh Ít hơn hoặc bằng ($lte)

private static void findAllExample(String ip, int port, String databaseName, String collection) {
    QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
    List postList = queryDocument.findAll(collection, Post.class);
    System.out.println("--- Document trong Collection Post ---");
    postList.forEach(post -> System.out.println(post.toString()));
    System.out.println("--- End ---");
}
0

  1. AND - Tìm kiếm các tài liệu trong bộ sưu tập hiện tại tất cả các điều kiện ($and)

private static void findAllExample(String ip, int port, String databaseName, String collection) {
    QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
    List postList = queryDocument.findAll(collection, Post.class);
    System.out.println("--- Document trong Collection Post ---");
    postList.forEach(post -> System.out.println(post.toString()));
    System.out.println("--- End ---");
}
1

  1. OR - Tìm kiếm các tài liệu trong bộ sưu tập bất kỳ đối tượng nào trong các điều kiện ($or)

private static void findAllExample(String ip, int port, String databaseName, String collection) {
    QueryDocument queryDocument = new QueryDocument(ip, port,databaseName);
    List postList = queryDocument.findAll(collection, Post.class);
    System.out.println("--- Document trong Collection Post ---");
    postList.forEach(post -> System.out.println(post.toString()));
    System.out.println("--- End ---");
}
2

Cuối cùng, một hàm chính gọi tất cả các hàm đã xây dựng

Mã nguồn

Source code liên quan về bài viết. https. //github. com/hungcdev/MongoDB-Java-Hướng dẫn