Ví dụ dưới đây thêm một tài liệu mới vào bộ sưu tập hàng tồn kho. Nếu không có trường _id nào được chỉ định, MongoDB sẽ tự động thêm trường _id có giá trị ObjectId vào tài liệu mới.
db.inventory.insertOne[
{ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
]
MongoDB C ví dụ cho CRUD. Đọc hoạt động
Thao tác Đọc được sử dụng để truy vấn một tài liệu trong cơ sở dữ liệu. Để lấy tài liệu đã chèn, bạn cần chạy lệnh bên dưới. Lệnh find[] sẽ chọn tất cả các tài liệu từ bộ sưu tập được chỉ định
db.collection.find[]
Bạn sẽ có thể xác định các bộ lọc truy vấn hoặc tiêu chí xác định chính xác các tài liệu sẽ được trả lại
Dưới đây, bạn sẽ tìm thấy một ví dụ về thao tác truy vấn bằng cách sử dụng db. thu thập. cách tiếp cận find[] trong vỏ mongo. Các hình minh họa dưới đây sử dụng bộ sưu tập hàng tồn kho. Để điền vào bộ sưu tập khoảng không quảng cáo, bạn sẽ phải chạy đoạn mã sau
db.inventory.insertMany[[
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]];
MongoDB C ví dụ cho CRUD. Cập nhật hoạt động
Cập nhật hoạt động thay đổi các tài liệu có sẵn trong một bộ sưu tập. MongoDB cung cấp 3 phương pháp mà bạn có thể sử dụng để cập nhật một tài liệu hoặc nhiều tài liệu cùng một lúc
MongoDB C ví dụ cho CRUD. Cập nhật tài liệu đơn lẻ
Trong ví dụ dưới đây, db. thu thập. updateOne[] được sử dụng trên bộ sưu tập hàng tồn kho để cập nhật tài liệu đầu tiên trong đó trường mục là “giấy”
db.inventory.insertMany[[
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]];
Thao tác cập nhật đã sử dụng toán tử $set để thay đổi giá trị của kích thước. trường uom thành “cm” và giá trị của trường trạng thái thành “P”,
Ngoài ra, thao tác cập nhật đã sử dụng toán tử $current Date để cập nhật giá trị của trường Sửa đổi cuối cùng thành ngày hiện tại. Trường hợp không có trường lastModified thì $currentDate sẽ tạo trường.
MongoDB C ví dụ cho CRUD. Cập nhật nhiều tài liệu
Ví dụ dưới đây sẽ sử dụng db. thu thập. updateMany[] trên bộ sưu tập hàng tồn kho để cập nhật tất cả các tài liệu có số lượng dưới 50
db.inventory.updateMany[
{ "qty": { $lt: 50 } },
{
$set: { "size.uom": "in", status: "P" },
$currentDate: { lastModified: true }
}
]
MongoDB C ví dụ cho CRUD. Xóa hoạt động
Thao tác xóa xóa hoàn toàn tài liệu khỏi bộ sưu tập. Có ba phương pháp để xóa tài liệu khỏi bộ sưu tập
Dưới đây là một ví dụ về thao tác xóa
db.inventory.insertMany[ [
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },
] ];
Lợi ích của việc sao chép MongoDB
Khi nói đến dự phòng, MongoDB sử dụng bản sao. Sao chép dữ liệu là quá trình lưu trữ dữ liệu trong nhiều nút và giữ cho mọi thứ được đồng bộ hóa. Sao chép dữ liệu rất hữu ích để tăng tính khả dụng và hiệu suất đọc trong số các lợi ích khác như sau
sharding
Khái niệm phân đoạn cơ sở dữ liệu là điều cần thiết để mở rộng quy mô, Mẫu kiến trúc này đề cập đến việc cắt cơ sở dữ liệu thành hai hoặc các phần nhỏ hơn, được đặt tên là phân đoạn logic, do đó, một tập dữ liệu có thể được lưu trữ trong các nút dữ liệu khác nhau, được gọi là phân đoạn vật lý, tăng khả năng lưu trữ của hệ thống .
Sharding trong MongoDB cho phép tăng khả năng mở rộng theo chiều ngang. Với chiến lược này, thay vì tăng kích thước phiên bản, chúng tôi giữ nguyên mức và chúng tôi mở rộng theo chiều ngang bằng cách nối thêm nhiều phiên bản/nút hoạt động như cơ sở dữ liệu riêng biệt. Tập hợp các phân đoạn máy chủ phân tán tạo thành một cơ sở dữ liệu mở rộng, duy nhất phù hợp hơn để xử lý nhu cầu của khối lượng công việc gia tăng
Cân bằng tải
Cân bằng tải tối ưu là một trong những tính năng quan trọng nhất đối với bất kỳ quản lý cơ sở dữ liệu quy mô lớn nào. Việc phân phối hàng triệu yêu cầu của khách hàng đến hàng trăm hoặc thậm chí hàng nghìn máy chủ có thể dẫn đến sự khác biệt rõ rệt về hiệu suất
Vì MongoDB có các khả năng mở rộng theo chiều ngang như sao chép và bảo vệ, nên nó có thể hỗ trợ cân bằng tải quy mô lớn. Hệ thống có thể duy trì nhiều yêu cầu đọc và ghi đồng thời cho cùng một dữ liệu với các giao thức khóa và kiểm soát đồng thời tuyệt vời để đảm bảo tính nhất quán của dữ liệu
Hoàn toàn có thể mở rộng
Kiến trúc mở rộng theo chiều ngang của MongoDB có khả năng quản lý khối lượng dữ liệu và lưu lượng truy cập khổng lồ
Sự kết luận
Bài viết này đã giới thiệu cho bạn về MongoDB và thảo luận về các tính năng chính của nó. Nó cũng liệt kê các bước để thiết lập MongoDB C Drive và giải thích các ví dụ MongoDB C khác nhau về hoạt động CRUD. Hơn nữa, bài viết đã liệt kê những lợi ích của việc thực hiện Sao chép dữ liệu với MongoDB
Như bạn có thể thấy, MongoDB là một lựa chọn tuyệt vời cho nhiều trường hợp sử dụng. MongoDB là một cơ sở dữ liệu mạnh mẽ với các khả năng vượt trội, nổi bật là các chức năng tích hợp sẵn. Hiện tại, có rất nhiều tổ chức từ các ngành khác nhau quản lý luồng dữ liệu của họ bằng MongoDB. Các công ty đa quốc gia như Bosch, Uber, Accenture, Barclays, chỉ kể tên một số, tận dụng các khả năng của MongoDB để lưu trữ dữ liệu chưa được phân loại theo cách tinh vi
Ghé thăm trang web của chúng tôi để khám phá HevoBây giờ, để chạy các truy vấn SQL hoặc thực hiện Phân tích dữ liệu trên dữ liệu MongoDB của bạn, trước tiên bạn cần xuất dữ liệu này sang Kho dữ liệu. Điều này sẽ yêu cầu bạn tùy chỉnh mã các tập lệnh phức tạp để phát triển các quy trình ETL. Hevo Data có thể tự động hóa quy trình truyền dữ liệu của bạn, do đó cho phép bạn tập trung vào các khía cạnh khác của doanh nghiệp như Phân tích, Quản lý khách hàng, v.v. Nền tảng này cho phép bạn chuyển dữ liệu từ hơn 100 nguồn khác nhau như MongoDB sang Kho dữ liệu dựa trên đám mây như Amazon Redshift, Snowflake, Google BigQuery, v.v. Nó sẽ cung cấp cho bạn trải nghiệm không rắc rối và giúp cuộc sống công việc của bạn dễ dàng hơn nhiều
Bạn muốn thử Hevo?