TL; DR :
Sử dụng trình điều khiển không đồng bộ nếu hoạt động chậm hoặc sử dụng trình điều khiển thông thường trong hầu hết các trường hợp. Bạn không nên sử dụng trình điều khiển cốt lõi.
Trình điều khiển thông thường MongoDB :
Trình điều khiển chung mà bạn có thể sử dụng để tìm kiếm, tạo, đọc, cập nhật và xóa tài liệu. find(...)
, updateMany(...)
, deleteMany(...)
và các phương thức tương tự sẽ bị treo miễn là kết quả không được trả về hoặc hoạt động không được thực hiện (hành vi đồng bộ). Đây là trình điều khiển mà hầu hết các chương trình sử dụng và tốt trong hầu hết các trường hợp.
Đây là một ví dụ để chèn một Tài liệu:
collection.insertOne(doc);
//Do something here.
System.out.println("Inserted!")
Trình điều khiển không đồng bộ MongoDB :
Một loại trình điều khiển khác mà bạn có thể sử dụng để tìm kiếm, tạo, đọc, cập nhật và xóa tài liệu. Trình điều khiển này cung cấp các phương pháp tương tự như trình điều khiển thông thường (find(...)
, updateMany(...)
, deleteMany(...)
, vân vân.).
Sự khác biệt với trình điều khiển thông thường là luồng chính sẽ không bị treo vì trình điều khiển không đồng bộ gửi kết quả trong gọi lại (hành vi không đồng bộ). Trình điều khiển này được sử dụng khi các hoạt động có thể mất nhiều thời gian (nhiều dữ liệu phải đi qua, độ trễ cao, truy vấn trên các trường chưa lập chỉ mục, v.v.) và bạn không muốn quản lý nhiều chuỗi.
Dưới đây là một ví dụ về lệnh gọi lại khi chèn một Tài liệu:
collection.insertOne(doc, new SingleResultCallback<Void>() {
@Override
public void onResult(final Void result, final Throwable t) {
//Do something here.
System.out.println("Inserted!");
}
});
// Do something to show that the Document was not inserted yet.
System.out.println("Inserting...")
Để biết thêm thông tin, hãy đọc this .
Trình điều khiển lõi MongoDB
Lớp cơ sở của trình điều khiển thông thường và không đồng bộ. Nó chứa các phương thức cấp thấp để thực hiện tất cả các thao tác phổ biến đối với trình điều khiển thông thường và không đồng bộ. Trừ khi bạn đang tạo API / Trình điều khiển mới cho MongoDB, bạn không nên sử dụng trình điều khiển cốt lõi.