Java mongodb tìm theo trường
Trong bài viết này, chúng tôi trình bày cách làm việc với MongoDB trong Java. Có một hướng dẫn Java ngắn gọn trên ZetCode Show
MongoDB là cơ sở dữ liệu định hướng tài liệu đa nền tảng NoSQL. Đây là một trong những cơ sở dữ liệu phổ biến nhất hiện có. MongoDB được phát triển bởi MongoDB Inc. và được xuất bản dưới dạng phần mềm mã nguồn mở và miễn phí Một bản ghi trong MongoDB là một tài liệu, là một cấu trúc dữ liệu bao gồm các cặp trường và giá trị. Các tài liệu MongoDB tương tự như các đối tượng JSON. Giá trị của các trường có thể bao gồm các tài liệu, mảng và mảng tài liệu khác. MongoDB lưu trữ tài liệu trong bộ sưu tập. Bộ sưu tập tương tự như bảng trong cơ sở dữ liệu quan hệ và tài liệu tương tự như hàng MongoDB đại diện cho các tài liệu org.mongodb mongo-java-driver x.y.z7 ở định dạng được mã hóa nhị phân có tên là org.mongodb mongo-java-driver x.y.z8 đằng sau hậu trường. org.mongodb mongo-java-driver x.y.z8 mở rộng mô hình org.mongodb mongo-java-driver x.y.z7 để cung cấp các loại dữ liệu bổ sung, các trường được sắp xếp và hiệu quả để mã hóa và giải mã trong các ngôn ngữ khác nhau. Các. NET sử dụng 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.21 để đại diện cho org.mongodb mongo-java-driver x.y.z8 Cài đặt MongoDBLệnh sau có thể được sử dụng để cài đặt MongoDB trên Linux dựa trên Debian $ sudo apt-get install mongodb Lệnh cài đặt các gói cần thiết đi kèm với MongoDB $ sudo service mongodb status mongodb start/running, process 975 Với lệnh 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.23, chúng tôi kiểm tra trạng thái của máy chủ 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.24 org.mongodb mongo-java-driver x.y.z0 Máy chủ 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.24 được khởi động bằng lệnh 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.26 Tạo cơ sở dữ liệuCông cụ 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.27 là giao diện shell JavaScript tương tác với MongoDB, cung cấp giao diện cho quản trị viên hệ thống cũng như cách để nhà phát triển kiểm tra các truy vấn và hoạt động trực tiếp với cơ sở dữ liệu org.mongodb mongo-java-driver x.y.z4 Chúng tôi tạo cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 và chèn tám tài liệu vào bộ sưu tập 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.29 Trình điều khiển Java MongoDBChúng tôi sử dụng khai báo Maven sau để đưa trình điều khiển Java MongoDB vào dự án của chúng tôi org.mongodb mongo-java-driver x.y.z Nó là một JAR tất cả trong một, nhúng trình điều khiển lõi và BSON. BSON, viết tắt của Binary JSON, là một tuần tự hóa được mã hóa nhị phân của các tài liệu giống như JSON Java MongoDB liệt kê các bộ sưu tập cơ sở dữ liệuVí dụ đầu tiên kết nối với cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 và truy xuất các bộ sưu tập của nó 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.2 Đây là tệp org.mongodb mongo-java-driver x.y.z01 của chúng tôi com/zetcode/MongoListCollections. java org.mongodb mongo-java-driver x.y.z0 Ví dụ kết nối với cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 và truy xuất tất cả các bộ sưu tập của nó org.mongodb mongo-java-driver x.y.z3 Chúng tôi đặt mức ghi nhật ký cho MongoDB. Chúng tôi chỉ hiển thị thông báo lỗi NGHIÊM TRỌNG org.mongodb mongo-java-driver x.y.z4 Một lớp org.mongodb mongo-java-driver x.y.z03 được sử dụng để kết nối với máy chủ MongoDB. Nó được tạo bằng lệnh gọi phương thức org.mongodb mongo-java-driver x.y.z04. 27017 là cổng mặc định mà máy chủ MongoDB lắng nghe org.mongodb mongo-java-driver x.y.z7 Với phương pháp org.mongodb mongo-java-driver x.y.z05, chúng tôi lấy cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 $ sudo service mongodb status mongodb start/running, process 9750 Phương thức org.mongodb mongo-java-driver x.y.z07 tìm tất cả các bộ sưu tập trong cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 $ sudo service mongodb status mongodb start/running, process 9751 Trong cơ sở dữ liệu của chúng tôi, chúng tôi có hai bộ sưu tập này Thống kê cơ sở dữ liệu Java MongoDBVí dụ tiếp theo kết nối với cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 và lấy số liệu thống kê của nó com/zetcode/MongoCommand. java $ sudo service mongodb status mongodb start/running, process 9752 Ví dụ kết nối với cơ sở dữ liệu 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.28 và thực hiện lệnh org.mongodb mongo-java-driver x.y.z31. Nó cho thấy một số thống kê cơ sở dữ liệu $ sudo service mongodb status mongodb start/running, process 9753 Với phương thức org.mongodb mongo-java-driver x.y.z32, chúng ta thực hiện lệnh org.mongodb mongo-java-driver x.y.z31. Lệnh trả về một org.mongodb mongo-java-driver x.y.z34, đại diện cho tài liệu MongoDB dưới dạng bản đồ $ sudo service mongodb status mongodb start/running, process 9754 Chúng tôi lặp qua các mục của tài liệu $ sudo service mongodb status mongodb start/running, process 9755 Java MongoDB đọc dữ liệuorg.mongodb mongo-java-driver x.y.z35 được sử dụng để lưu trữ các tài liệu mongo được trả về từ một bộ sưu tập. org.mongodb mongo-java-driver x.y.z36 là một con trỏ để lặp qua các kết quả của một truy vấn cơ sở dữ liệu. Nó đảm bảo rằng nó được đóng lại trong trường hợp có ngoại lệ com/zetcode/MongoReadAll. java $ sudo service mongodb status mongodb start/running, process 9756 Trong ví dụ này, chúng tôi lặp lại tất cả dữ liệu của bộ sưu tập 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.29 $ sudo service mongodb status mongodb start/running, process 9757 Chúng tôi truy xuất bộ sưu tập 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.29 bằng phương pháp org.mongodb mongo-java-driver x.y.z39 $ sudo service mongodb status mongodb start/running, process 9758 Chúng tôi lặp qua các tài liệu của bộ sưu tập. Phương pháp org.mongodb mongo-java-driver x.y.z40 tìm tất cả các tài liệu trong bộ sưu tập $ sudo service mongodb status mongodb start/running, process 9759 Toán tử truy vấn Java MongoDBCó thể lọc dữ liệu bằng các toán tử truy vấn MongoDB, chẳng hạn như org.mongodb mongo-java-driver x.y.z41, org.mongodb mongo-java-driver x.y.z42 hoặc org.mongodb mongo-java-driver x.y.z43. Các toán tử truy vấn có thể được chỉ định trong lớp org.mongodb mongo-java-driver x.y.z44 com/zetcode/MongoReadGreaterThan. java org.mongodb mongo-java-driver x.y.z00 Ví dụ in tất cả các tài liệu có giá ô tô' lớn hơn 30.000 Chúng tôi sử dụng toán tử truy vấn org.mongodb mongo-java-driver x.y.z41 org.mongodb mongo-java-driver x.y.z02 Phương thức org.mongodb mongo-java-driver x.y.z46 là một cách viết cú pháp để mã ứng dụng không cần phải lo lắng về việc phải đóng con trỏ theo cách thủ công. Dữ liệu được in ở định dạng JSON bằng phương pháp org.mongodb mongo-java-driver x.y.z47 org.mongodb mongo-java-driver x.y.z03 Đây là đầu ra của ví dụ ở định dạng JSON. Chỉ bao gồm những chiếc xe đắt hơn 30.000 Các phương thức truy vấn bộ lọc nhà máy Java MongoDBTrình điều khiển Java MongoDB chứa các phương thức xuất xưởng cho các bộ lọc truy vấn com/zetcode/MongoFilter. java org.mongodb mongo-java-driver x.y.z04 Trong ví dụ, chúng tôi truy xuất những chiếc ô tô có giá rơi vào khoảng từ 20.000 đến 50.000 org.mongodb mongo-java-driver x.y.z05 org.mongodb mongo-java-driver x.y.z48, org.mongodb mongo-java-driver x.y.z49 và org.mongodb mongo-java-driver x.y.z70 là các phương thức lọc của nhà máy. Ngoài ra, dữ liệu được sắp xếp theo phương pháp org.mongodb mongo-java-driver x.y.z71 org.mongodb mongo-java-driver x.y.z06 Các phép chiếu Java MongoDBLớp org.mongodb mongo-java-driver x.y.z72 cung cấp các phương thức xuất xưởng tĩnh cho tất cả các toán tử chiếu MongoDB. Theo mặc định, tất cả các trường của mỗi tài liệu được chiếu. Chúng tôi có thể sử dụng các phương pháp org.mongodb mongo-java-driver x.y.z73 và org.mongodb mongo-java-driver x.y.z74 để xác định trường nào sẽ được chiếu vào đầu ra của chúng tôi com/zetcode/MongoProjection. java org.mongodb mongo-java-driver x.y.z07 Ví dụ loại trừ trường org.mongodb mongo-java-driver x.y.z75 khỏi đầu ra org.mongodb mongo-java-driver x.y.z08 Phương thức org.mongodb mongo-java-driver x.y.z76 thiết lập một tài liệu mô tả các trường để trả về cho tất cả các tài liệu phù hợp. org.mongodb mongo-java-driver x.y.z77 là một từ đồng nghĩa với org.mongodb mongo-java-driver x.y.z78 org.mongodb mongo-java-driver x.y.z09 Xuất dữ liệu giới hạn Java MongoDBTùy chọn truy vấn org.mongodb mongo-java-driver x.y.z79 chỉ định số lượng tài liệu được trả về và tùy chọn $ sudo service mongodb status mongodb start/running, process 97500 bỏ qua số lượng tài liệu đã chỉ định com/zetcode/MongoSkipLimit. java org.mongodb mongo-java-driver x.y.z40 Ví dụ đọc từ bộ sưu tập $ sudo service mongodb status mongodb start/running, process 97501, bỏ qua hai tài liệu đầu tiên và giới hạn đầu ra ở năm tài liệu org.mongodb mongo-java-driver x.y.z41 Phương pháp $ sudo service mongodb status mongodb start/running, process 97502 $ sudo service mongodb status mongodb start/running, process 97500 bỏ qua hai tài liệu đầu tiên và phương pháp org.mongodb mongo-java-driver x.y.z79 giới hạn đầu ra ở năm tài liệu org.mongodb mongo-java-driver x.y.z42 Ở đây chúng tôi sử dụng cấu trúc Java 8 để in tài liệu org.mongodb mongo-java-driver x.y.z43 Java MongoDB tạo bộ sưu tậpPhương thức $ sudo service mongodb status mongodb start/running, process 97505 $ sudo service mongodb status mongodb start/running, process 97506 tạo một bộ sưu tập mới trong cơ sở dữ liệu. Phương pháp $ sudo service mongodb status mongodb start/running, process 97507 $ sudo service mongodb status mongodb start/running, process 97508 chèn một hoặc nhiều tài liệu vào bộ sưu tập com/zetcode/MongoCreateCollection. java org.mongodb mongo-java-driver x.y.z44 Ví dụ tạo một bộ sưu tập 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.29 và chèn chín tài liệu vào đó org.mongodb mongo-java-driver x.y.z45 Một bộ sưu tập mới được tạo bằng phương pháp $ sudo service mongodb status mongodb start/running, process 97506. Nếu bộ sưu tập đã tồn tại, nó sẽ bị loại bỏ $ sudo service mongodb status mongodb start/running, process 9757 Một org.mongodb mongo-java-driver x.y.z35 tài liệu được tạo bằng phương thức org.mongodb mongo-java-driver x.y.z39 org.mongodb mongo-java-driver x.y.z47 Một org.mongodb mongo-java-driver x.y.z34 mới được tạo. Nó chứa thông tin về chiếc xe—ID, tên và giá của nó org.mongodb mongo-java-driver x.y.z48 Các tài liệu được ghi vào bộ sưu tập bằng phương pháp $ sudo service mongodb status mongodb start/running, process 97508 Java MongoDB tạo bộ sưu tập từ JSONLớp org.mongodb mongo-java-driver x.y.z7 có các phương thức phân tích tài liệu JSON. JSON (Ký hiệu đối tượng JavaScript) là một định dạng trao đổi dữ liệu nhẹ. Thật dễ dàng cho con người để đọc và viết com/zetcode/MongoCollectionFromJSON. java org.mongodb mongo-java-driver x.y.z49 Ví dụ tạo bộ sưu tập $ sudo service mongodb status mongodb start/running, process 97516 từ dữ liệu JSON org.mongodb mongo-java-driver x.y.z0 Dữ liệu JSON được phân tích cú pháp bằng phương thức $ sudo service mongodb status mongodb start/running, process 97517 org.mongodb mongo-java-driver x.y.z1 org.mongodb mongo-java-driver x.y.z44 được chuyển đến org.mongodb mongo-java-driver x.y.z34 và chèn vào bộ sưu tập bằng phương pháp $ sudo service mongodb status mongodb start/running, process 97520 org.mongodb mongo-java-driver x.y.z2 Chúng tôi hiển thị bộ sưu tập đã tạo với 4.0.0 com.zetcode mongocommand 1.0-SNAPSHOT jar UTF-8 11 11 org.mongodb mongo-java-driver 3.10.27 Java MongoDB sửa đổi tài liệuPhương pháp $ sudo service mongodb status mongodb start/running, process 97507 $ sudo service mongodb status mongodb start/running, process 97523 được sử dụng để xóa tài liệu và $ sudo service mongodb status mongodb start/running, process 97524 để cập nhật tài liệu com/zetcode/MongoModify. java org.mongodb mongo-java-driver x.y.z3 Ví dụ xóa tài liệu chứa Skoda và cập nhật giá xe Audi org.mongodb mongo-java-driver x.y.z4 $ sudo service mongodb status mongodb start/running, process 97523 xóa tài liệu của $ sudo service mongodb status mongodb start/running, process 97526. $ sudo service mongodb status mongodb start/running, process 97527 tạo bộ lọc khớp với tất cả các tài liệu trong đó giá trị của tên trường bằng với giá trị đã chỉ định Làm cách nào để sử dụng tìm kiếm trong MongoDB trong Java?Bạn có thể truy xuất một tài liệu trong một bộ sưu tập bằng cách xâu chuỗi các phương thức find() và first() trên đối tượng MongoCollection . Bạn có thể chuyển bộ lọc truy vấn tới phương thức find() để truy vấn và trả về các tài liệu khớp với bộ lọc trong bộ sưu tập.
BasicDBObject trong Java là gì?public BasicDBObject(String key, Object value) Tạo đối tượng với khóa/giá trị đã cho . Thông số. khóa - khóa để lưu trữ giá trị - giá trị để lưu trữ.
Làm cách nào để kiểm tra trường có giá trị rỗng hay không trong MongoDB?Mục {. null } truy vấn khớp với tài liệu chứa trường mục có giá trị null hoặc không chứa trường mục. Truy vấn trả về cả hai tài liệu trong bộ sưu tập. |