Mảng đối tượng MongoDB thành mảng chuỗi
Tôi đang cố lấy danh sách thành viên. Trong mongodb mảng là một danh sách các ObjectIds. Nhưng khi tôi chạy truy vấn thì không tìm thấy gì. Tôi biết ID thực tế là hợp lệ. Có thể có một số người dùng đã bị xóa, nhưng hầu hết trong số họ vẫn tồn tại. Show
Truy vấn này hoạt động, nhưng truy vấn đó dành cho một người dùng và tôi có thể chỉ định truy vấn đó phải được coi là $oid MongoDB là cơ sở dữ liệu NoSQL định hướng tài liệu phân tán và mã nguồn mở phổ biến nhất. Một tài liệu trong MongoDB là một cấu trúc dữ liệu với các đối tượng giống như JSON có các cặp trường và giá trị Để chèn tài liệu vào bộ sưu tập MongoDB, chúng ta có thể sử dụng các phương thức khác nhau như insert(), insertOne() và insertMany() Trong hướng dẫn này, chúng ta sẽ thảo luận về cách chèn một mảng bên trong tài liệu MongoDB. Trước tiên, chúng ta sẽ xem xét việc chèn một mảng vào tài liệu bằng truy vấn MongoDB Shell. Sau đó, chúng tôi sẽ sử dụng mã trình điều khiển Java MongoDB 2. Khởi tạo cơ sở dữ liệuTrước khi chúng ta chuyển sang các truy vấn chèn, trước tiên hãy tạo một cơ sở dữ liệu. Hãy gọi nó là baeldung. Chúng tôi cũng sẽ tạo một bộ sưu tập mẫu có tên sinh viên
Với lệnh này, cơ sở dữ liệu baeldung mẫu và bộ sưu tập sinh viên của chúng tôi đã được thiết lập thành công. Chúng tôi sẽ sử dụng những điều này để chứng minh trong tất cả các ví dụ 3. Sử dụng MongoDB ShellĐể chèn một mảng vào một bộ sưu tập bằng MongoDB Shell, chúng ta chỉ cần chuyển mảng đó dưới dạng một loại JSON Array cho shell
Truy vấn trên chèn một tài liệu với một mảng vào tập hợp sinh viên. Chúng tôi có thể xác minh kết quả bằng cách truy vấn các tài liệu của bộ sưu tập sinh viên bằng cách sử dụng toán tử tìm
Truy vấn trên trả về tài liệu tuyển tập sinh viên đã chèn
4. Thao tác chèn bằng mã trình điều khiển JavaTrình điều khiển Java MongoDB cung cấp nhiều phương thức tiện lợi khác nhau để giúp chúng tôi chèn tài liệu vào bộ sưu tập
Bất kỳ phương pháp nào ở trên đều có thể được sử dụng để thực hiện thao tác chèn trên bộ sưu tập MongoDB Tiếp theo, hãy đi sâu vào triển khai thao tác chèn mảng bằng Trình điều khiển Java MongoDB. Trình điều khiển Java MongoDB hỗ trợ cả tài liệu DBObject và BSON 5. Sử dụng DBObjectỞ đây, DBObject là một phần của trình điều khiển kế thừa MongoDB, nhưng nó không được dùng trong các phiên bản MongoDB mới hơn Hãy chèn một tài liệu DBObject với một mảng vào bộ sưu tập sinh viên
Truy vấn trên chèn một tài liệu DBObject với một mảng vào tập hợp sinh viên 6. Sử dụng Tài liệu BSONTài liệu BSON là cách mới để truy cập tài liệu MongoDB trong Java và được xây dựng với ngăn xếp máy khách mới hơn. May mắn thay, nó cũng dễ sử dụng hơn
Trình điều khiển Java cung cấp một tổ chức. con trai. Lớp tài liệu để chèn một đối tượng tài liệu Bson với một mảng vào bộ sưu tập sinh viên 6. 1. Chèn một tài liệu với một mảngĐầu tiên, hãy chèn một tài liệu có một mảng vào bộ sưu tập bằng phương thức insertOne()
Truy vấn trên chèn một tài liệu với một mảng vào bộ sưu tập sinh viên. Điều quan trọng cần lưu ý là phương thức append(String, Object) của lớp Tài liệu chấp nhận một Đối tượng làm giá trị. Chúng ta có thể chuyển Danh sách của bất kỳ loại Đối tượng nào làm giá trị để chèn nó dưới dạng một mảng vào tài liệu 6. 2. Chèn nhiều tài liệu với một mảngHãy chèn nhiều tài liệu với một mảng vào bộ sưu tập bằng phương thức insertMany()
Truy vấn trên chèn nhiều tài liệu với một mảng vào bộ sưu tập sinh viên 6. 3. Chèn một mảng đối tượngCuối cùng, hãy chèn một loại tài liệu mảng Đối tượng vào bộ sưu tập MongoDB
Truy vấn trên chèn nhiều tài liệu với một mảng Đối tượng vào bộ sưu tập sinh viên. Ở đây, chúng tôi đã chèn một tài liệu có danh sách các tài liệu dưới dạng một mảng vào bộ sưu tập. Tương tự, chúng ta có thể xây dựng bất kỳ Đối tượng mảng phức tạp nào và chèn nó vào bộ sưu tập MongoDB 7. Phần kết luậnTrong bài viết này, chúng ta đã thấy nhiều cách khác nhau để chèn tài liệu có đối tượng mảng vào bộ sưu tập MongoDB. Chúng ta đã thảo luận về các trường hợp sử dụng này bằng cách sử dụng cả truy vấn MongoDB Shell cũng như triển khai mã trình điều khiển Java tương ứng Với mã ổ đĩa Java, trước tiên chúng tôi xem xét việc triển khai bằng cách sử dụng lớp DBObject không dùng nữa. Sau đó, chúng tôi đã học cách triển khai tương tự bằng cách sử dụng lớp Tài liệu BSON mới Làm cách nào để chuyển đổi chuỗi thành mảng trong MongoDB?Chia một chuỗi thành một mảng các chuỗi con dựa trên dấu phân cách. $split xóa dấu phân cách và trả về các chuỗi con kết quả dưới dạng các phần tử của một mảng. Nếu không tìm thấy dấu phân cách trong chuỗi, $split trả về chuỗi gốc dưới dạng phần tử duy nhất của một mảng.
Bạn có thể truyền một mảng đối tượng thành một mảng chuỗi trong Java không?Trong Java 8, chúng ta có thể sử dụng Luồng để chuyển đổi mảng đối tượng thành mảng chuỗi một cách dễ dàng . Ý tưởng đầu tiên là chuyển đổi mảng đối tượng đã chỉ định thành Luồng tuần tự và sau đó sử dụng phương thức toArray() để tích lũy các phần tử luồng thành một mảng chuỗi mới.
Làm cách nào để sử dụng $push trong MongoDB?Nếu trường không có trong tài liệu cần cập nhật, $push sẽ thêm trường mảng có giá trị làm thành phần của nó . Nếu trường không phải là một mảng, hoạt động sẽ thất bại. Nếu giá trị là một mảng, $push sẽ thêm toàn bộ mảng dưới dạng một phần tử. Để thêm riêng từng phần tử của giá trị, hãy sử dụng công cụ sửa đổi $each với $push.
Làm cách nào để khớp giá trị mảng trong MongoDB?Toán tử $elemMatch khớp với các tài liệu chứa trường mảng có ít nhất một phần tử khớp với tất cả các tiêu chí truy vấn đã chỉ định. Nếu bạn chỉ xác định một điều kiện |