Xóa thuộc tính đối tượng mongodb
Một số định nghĩa trước khi đi sâu về MongoDB. Đây là một tài liệu đa nền tảng, hướng DB với hiệu suất cao, có thể trả lời câu hỏi cho đa dạng các hệ thống và dễ dàng mở rộng quy mô. Tưởng tượng của MongoDB là thông qua bộ sưu tập khái niệm và tài liệu. Vì không tìm được từ tiếng việt hay ho hơn nên tạm thời cho phép mình giữ nguyên các khái niệm tiếng anh của 2 thuật ngữ này Show
cơ sở dữ liệuCơ sở dữ liệu là vật chứa vật lý cho các bộ sưu tập. Mỗi DB được thiết lập cho riêng nó một danh sách các tệp hệ thống tệp. Một máy chủ MongoDB đơn thường có nhiều DB Bộ sưu tậpBộ sưu tập là một nhóm các tài liệu của MongoDB. Nó tương đương với một bảng trong RDBMS. Một bộ sưu tập tồn tại trong một cơ sở dữ liệu duy nhất. Các bộ sưu tập không được tạo nên một lược đồ. Tài liệu trong bộ sưu tập có thể có các lĩnh vực khác nhau. Thông thường, tất cả các tài liệu trong bộ sưu tập có mục đích tương tự nhau hoặc liên quan đến nhau Tài liệuMột tài liệu là một tập hợp các cặp khóa-giá trị. Tài liệu có lược đồ động. Lược đồ động có nghĩa là các tài liệu trong cùng một bộ sưu tập không nhất thiết phải có cùng một nhóm các trường hoặc cấu trúc giống nhau, và các trường phổ biến trong các tài liệu của bộ sưu tập có thể chứa các loại dữ liệu khác nhau. Bảng dưới đây cho thấy mối quan hệ của các thuật ngữ RDBMS với MongoDB Một số điều cần cân nhắc khi thiết kế lược đồ trong MongoDB
Ví dụ Giả sử là một khách hàng cần DB thiết kế cho blog của anh ta và cân nhắc sự khác biệt giữa lược đồ RDMS và MongoDB. Web will have the following request
Trong lược đồ thiết kế của RDBMS, chúng ta sẽ có như sau về bài đăng, nhận xét và thẻ Trong khi thiết kế lược đồ MongoDB sẽ có một bài đăng bộ sưu tập và có cấu trúc sau Trong khi đó ở MongoDB schema, chúng ta sẽ thiết kế một collection post và có cấu trúc như sau
Để hiển thị 1 bài đăng RDBMS cần phải tham gia 3 bảng trong khi MongoDB chỉ cần lấy ra từ một bộ sưu tập. Nói đến đây nhiều bạn chú ý đừng thần tượng MongoDB quá nhé. Tháng sau mình sẽ viết 1 bài về so sánh hiệu năng với hàng triệu bản ghi giữa MySQL và NoSQL MongoDB - Tạo/xóa cơ sở dữ liệuMột số lệnh liên quan đến Cơ sở dữ liệu
Ví dụ
Kiểm tra đang sử dụng DB nào
hiển thị danh sách các DB trong máy chủ
DB của bạn vừa tạo mới ko có ở đây. bạn phải chèn một tài liệu về nó vào danh sách
Thả DB
MongoDB - Tạo/Xóa bộ sưu tậpDưới đây là cú pháp để tạo một Bộ sưu tập
0 thì yêu cầu phải là một chuỗi. Trong khi đó mục 1 thì chứa khá nhiều thông số về. ________ 82, ________ 83, ________ 84 , ________ 85 2 là một tập hợp các bộ sưu tập có kích thước cố định và tự động viết tiêu đề lên các mục cũ của nó khi chạm đến kích thước tối đa. Nếu bạn cho nó đúng, thì bạn phải điền 4 với lại 5 3 sẽ tự động tạo một chỉ mục trên biến 80 Mặc định giá trị này là saivà cú pháp để loại bỏ một bộ sưu tập ________số 8Ví dụ nhé 8Trong MongoDB, bạn không nhất thiết phải tạo bộ sưu tập. This thing will tự động tạo bộ sưu tập cho bạn khi bạn chèn tài liệu 0Đây là ví dụ drop 1Data Type
MongoDB - Tài liệuChèn một tài liệu 2Ví dụ 3Nếu bạn muốn chèn nhiều tài liệu trong một lệnh, bạn cần chọn mảng trong lệnh 81 4Lệnh tìm kiếm 5To current results better. You can use more method 82 6Cách sử dụng tìm AND trong MongoDB 7Cách sử dụng find OR trong MongoDB 8Dưới đây là một ví dụ sử dụng cả AND và OR trong MongoDB 9Next to the command UPDATE 0Giá sử dụng ban đầu của bạn dữ liệu ban đầu là như thế này 1Sau khi chạy 2Bạn sẽ nhận được kết quả như sau 3Bạn có thể cập nhật nhiều tài liệu bằng cách truyền một thông số 'đa' cho nó đúng 4Lệnh LƯUCú pháp của lệnh này như sau 5Dưới đây là ví du 6when you run this phase, data section of documents has ID 83 will be instead of after 7Lệnh XÓACommand this other menu. Các bạn tự tìm hiểu thêm nhé MongoDB - Phép chiếuTrong mongodb, projection có nghĩa là bạn chỉ cần chọn những dữ liệu cần hthieets thay vì chọn hết mọi dữ liệu của tài liệu. Nó khác find trong find Collection at place is find thì tìm tài liệu tìm kiếm dữ liệu trong bộ sưu tập. Còn lại, khái niệm này sẽ tìm kiếm các trường kết quả trong tài liệu. ví dụ bạn cần hiển thị 3 trường kết quả trong 5 trường của một tài liệu cú pháp của lệnh tìm kiếm này sẽ là 8Ví dụ dữ liệu hiện tại của bạn như sau 1Bạn chỉ cần muốn hiển thị từng tiêu đề thôi. Please do as after 0It's menu must ko MongoDB - Bản ghi giới hạnĐể giới hạn số lượng bản ghi trong MongoDB, bạn sẽ sử dụng phương thức limit(). Limit() sẽ chấp nhận số lượng bản ghi giới hạn thông qua đối số mà bạn truyền vào. Nó sẽ hiển thị số lượng tài liệu mà bạn muốn hiển thị 1Use ví dụ ở Projection at on them ta có ví dụ sau 2Ngoài ra, lệnh skip() cho phép bạn bỏ qua 1 giá trị tài liệu 3MongoDB - Sắp xếp bản ghiĐể sắp xếp các tài liệu trong MongoDB, bạn phải sử dụng sort(). sort() cho pehsp một tài liệu trong chứa các trường theo thứ tự thứ tự. có 2 loại thứ tự, 1 sẽ tương đương với tăng dần và -1 sẽ tương đương với giảm dần 4MongoDB - Lập chỉ mụcIndex hỗ trợ phân tích một cách hiệu quả các truy vấn. Nếu không có mục duy nhất, MongoDB sẽ phải quét tất cả các tài liệu của bộ sưu tập để chọn ra những tài liệu phù hợp với câu hỏi. Quá trình quét này không hiệu quả và yêu cầu MongoDB xử lý một khối dữ liệu lớn Chỉ mục là những cấu trúc dữ liệu đặc biệt, được sử dụng để chứa một phần nhỏ của các tập tin dữ liệu một cách dễ dàng để quét. Chỉ số lưu trữ giá trị của một trường cụ thể hoặc thiết lập các trường, sắp xếp theo giá trị của các trường này 5Để có thể đánh số nhiều trường, bạn hãy sử dụng 84 6At here value 1 and -1 is could show the sorting index. 84 có khá nhiều tham số để bạn có thể tùy chỉnhMongoDB - Tập hợpTổng hợp xử lý các bản ghi dữ liệu và trả về kết quả tính toán rồi. Tập hợp sẽ nhóm các giá trị từ nhiều tài liệu khác nhau và có thể tiến hành xử lý rất nhiều nhóm dư liệu để trả về một kết quả đơn lẻ. Xử lý này tương đương với đếm(*) trong SQL 7Ví dụ chúng ta có dữ liệu như thế này 8Nếu bạn muốn hiển thị có bao nhiêu hướng dẫn được viết bởi mỗi người dùng, bạn sẽ sử dụng 86 như sau 9Tương ứng với câu truy vấn trên trong SQL sẽ có kết quả là 87. Trong ví dụ ở trên, chúng ta đã nhóm các tài liệu trả trường 88 và sau đó trên mỗi lần xả by_user giá trị tổng được tăng lênKhái niệm về PIPELINETrong lệnh shell UNIX, đường dẫn có nghĩa là khả năng thực hiện một xử lý trên một vài đầu vào và sử dụng các đầu ra như đầu vào cho lệnh toeeps theo. MongoDB cũng hỗ trợ khái niệm tương tự trong tập hợp khung. Sẽ có một tập hợp các giai đoạn có thể xảy ra và mỗi giai đoạn được đánh dấu bằng một nhóm tài liệu như đầu vào và tính toán ra kết quả của nhóm tài liệu đó. Kết quả này có thể sẽ được chuyển thành đầu vào sử dụng cho giai đoạn tiếp theo Bài viết sau mình sẽ viết tiếp về những vấn đề nâng cao hơn của MongoDB MongoDB - Sao chépBản sao là khái niệm đồng bộ hóa dữ liệu trên nhiều máy chủ. REplication sẽ cung cấp rất nhiều và tăng tính khả dụng của dữ liệu với nhiều bản sao dữ liệu trên nhiều máy chủ DB, các bản sao bảo đảm cho DB khỏi việc mất dữ liệu trên 1 máy chủ đơn lẻ. Bản sao cũng cho phép bạn có thể khôi phục dữ liệu từ ổ cứng bị lỗi và dịch vụ bị lỗi hoặc gặp sự cố. Với rất nhiều bản sao dữ liệu, bạn có thể tinh chỉnh một bản để phục hồi, báo cáo hoặc sao lưu In sao lại cần REPLICATION
REPILCATION hoạt động như thế nào trong MongoDBMongoDB sao lưu bản sao bằng cách sử dụng bản sao tập hợp. Một bản sao chính của tập tin hơp là một nhóm các trường hợp 89 mà có máy chủ cung cấp tập hợp dữ liệu chung. Tất cả các trường hợp khác, thứ 2 sẽ được áp dụng xử lý từ trường hợp chính cho nên nó sẽ có tập hợp dữ liệu chung. Bản sao chỉ có một nút chính duy nhất
MongoDB - Phân mảnhSharding là quá trình xử lý lưu bản ghi dữ liệu trên nhiều máy và đây là cách tiếp cận của MongoDB để có thể đáp ứng các yêu cầu về dữ liệu lớn. Khi kích thước của dữ liệu tăng lên, một máy tính đơn lẻ không thể đủ để lưu dữ liệu cũng như cung cấp các xử lý đọc và ghi thông thường. Sharding giải bài toán này bằng cách phóng to theo chiều ngang. Với sharding, bạn có thể sẽ bổ sung thêm máy để hỗ trợ lưu trữ dữ liệu cũng như các yêu cầu về đọc và viết |