MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Giới thiệu Biểu đồ tra cứu trong MongoDB

Nếu bạn chưa quen với MongoDB, thì đó là mô hình dữ liệu NoSQL hướng tài liệu, sử dụng tài liệu thay vì bảng và hàng như bạn thường tìm thấy với bảng quan hệ.

Như vậy, do cách xây dựng độc đáo, MongoDB là một trong những mô hình dữ liệu tốt nhất cho cơ sở dữ liệu hiệu suất cao với khả năng mở rộng tuyệt vời. Tất nhiên, điều đó không có nghĩa là nó không có sự cạnh tranh và MongoDB thường được so sánh với Firebase hoặc Cassandra.

Tất nhiên, vấn đề sau đó trở thành bất kỳ yêu cầu truy vấn nào trên một kho dữ liệu lớn có thể có vấn đề và yêu cầu một trình độ nhất định trở thành chuyên gia truy vấn.

Rất may, MongoDB đã giới thiệu một tính năng hoàn toàn mới không chỉ loại bỏ việc truy vấn mã mà còn làm cho nó trở nên đơn giản chỉ với một vài cú nhấp chuột. Điều đó có nghĩa là bạn không phải tốn nhiều thời gian và rắc rối để thực hiện cùng một kiểu truy vấn và tham gia như bình thường.

Truy vấn Truyền thống trong MongoDB

Mặc dù cơ sở dữ liệu hướng tài liệu đã cực kỳ linh hoạt, nhưng có lẽ vẫn có những tình huống mà bạn có thể cần dữ liệu trực tiếp trong nhiều bộ sưu tập. Ví dụ:một bộ sưu tập có thể chứa dữ liệu người dùng và một bộ sưu tập khác có thể chứa hoạt động của người dùng. Điều này thậm chí có thể được mở rộng để có một số bộ sưu tập dữ liệu cho các ứng dụng, trang web khác nhau, v.v.

Đó là lý do tại sao MongoDB Query Language (MQL) ra đời, và nó cung cấp một cách để các lập trình viên tạo các truy vấn phức tạp. Trên thực tế, MongoDB có cả một trang cho các tài liệu truy vấn và cách chạy chúng. Nếu bạn chưa quen với nó, đây là quy trình từng bước nhanh chóng về cách nó hoạt động, vì vậy bạn có thể so sánh với Biểu đồ LookUp mới sau này:

Trước tiên, bạn cần kết nối phiên bản MongoDB của mình bằng cách chuyển URI tới Mongo shell và sau đó sử dụng --password

mongo.exe mongodb://$[hostlist]/$[database]?authSource=$[authSource] --username $[username]

Thứ hai, chuyển sang Cơ sở dữ liệu, trong trường hợp này, chúng tôi sẽ sử dụng cơ sở dữ liệu ‘thử nghiệm’ giả định

use test

Tại thời điểm này, bạn sẽ tải thêm dữ liệu vào MongoDB nếu cần. Bạn có thể làm điều đó với phương thức insertMany ():

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" }

]);

Sau đó là truy vấn thực tế thông qua việc truy xuất tài liệu trong một bộ sưu tập cụ thể:

myCursor = db.inventory.find( { status: "D" } )

Thông thường, điều này sẽ hiển thị 20 tài liệu và trả về một con trỏ, nhưng nếu bạn muốn. Tuy nhiên, nếu tập kết quả của bạn lớn hơn, bạn sẽ muốn lặp lại các kết quả:

while (myCursor.hasNext()) {

print(tojson(myCursor.next()));

}

Cuối cùng, bạn sẽ kiểm tra kết quả để đảm bảo mọi thứ đều chính xác. Hãy ghi nhớ trong ví dụ bên dưới, các giá trị ObjectID của bạn sẽ khác nhau:

{

 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"

}

Lợi ích của Biểu đồ LookUp

Như bạn có thể thấy, quy trình này khá phức tạp với nhiều bước, và do đó, MongoDB muốn làm cho quy trình này hợp lý hơn một chút. Tất nhiên, nó đi xa hơn một chút là chỉ làm cho mọi thứ dễ dàng hơn và có rất nhiều lợi ích đối với Biểu đồ LookUp.

Ví dụ:bạn có thể thu thập thông tin chi tiết tốt hơn thông qua định dạng xem một lần bằng cách kết hợp một số bộ sưu tập. Quan trọng hơn, có một biểu đồ trực quan và dễ phân tích cú pháp được cập nhật trực tiếp theo thông số kỹ thuật của bạn là vô giá. Điều này thường cho phép bạn lấy thông tin gần như ngay lập tức chỉ từ việc kiểm tra trực quan, đặc biệt nếu bạn chia thông tin thành các danh mục khác.

Cuối cùng, lợi ích lớn nhất là không cần phải học và thành thạo MQL cho duy nhất một cơ sở dữ liệu, điều này làm giảm rào cản gia nhập đối với nhiều lập trình viên.

Cách sử dụng Biểu đồ LookUp

Được rồi, vì vậy chúng tôi đã xem xét cách truy vấn thường hoạt động trên MongoDB và chúng tôi biết rõ về cách Biểu đồ LookUp có thể giúp chúng tôi nhận được nhiều thông tin nổi bật nhanh hơn, nhưng nó thực sự hoạt động như thế nào?

Chà, các bước tương đối đơn giản:

  1. Trước tiên, bạn cần chọn nguồn dữ liệu bằng cách chọn nguồn dữ liệu đó trên menu thả xuống ở trên cùng bên trái.
  2. Sau đó, nhấp vào dấu ‘. . . "Của trường giữa các bộ sưu tập của bạn và nhấp vào" Trường tra cứu "
  3. Khi cửa sổ mới bật lên, hãy chọn 'Nguồn dữ liệu từ xa' là nơi bạn sẽ lấy dữ liệu từ đó.
  4. Sau đó, bạn cần chọn 'Trường từ xa' và đó sẽ là trường phổ biến giữa hai nguồn dữ liệu của bạn.
  5. Cuối cùng, bạn có thể lưu một tên cụ thể cho trường kết quả và nếu không, chỉ cần nhấp vào ‘Lưu’

Và đó là khá nhiều! Bây giờ bạn có thể kéo và thả từ các trường mới vào trình tạo biểu đồ. Đừng quên chọn phương pháp Giảm mảng, nếu không, bạn có thể không thấy bất kỳ biểu đồ nào hiển thị cho mình.

Tự làm quen với Biểu đồ MongoDB

Tất nhiên, tại thời điểm này, cần phải đề cập đến tính năng LookUp mới là một phần của MongoDB Charts, và bản thân MongoDB cũng có một số bài viết thú vị để giúp bạn có được phần mềm của mình:

  1. Các cách mới để tùy chỉnh biểu đồ của bạn
  2. Trực quan hóa Dữ liệu Đơn hàng
  3. Thêm Trường tra cứu (khác với Biểu đồ tìm kiếm)

Kết luận

Như bạn có thể thấy, Biểu đồ LookUp mới là một công cụ cực kỳ mạnh mẽ giúp cắt giảm hàng loạt kiến ​​thức kỹ thuật về truy vấn MongoDB. Chỉ với một vài bước đơn giản, bạn có thể xem biểu đồ thông tin được kết hợp từ một số bộ sưu tập và hiểu thông tin mới gần như ngay lập tức.

So sánh phương pháp đó với phương pháp cũ yêu cầu một số bước mã hóa, cũng như hiểu mã đó và bạn bắt đầu thấy bản phát hành mới này tuyệt vời như thế nào.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Handlebars:Quyền truy cập đã bị từ chối để giải quyết thuộc tính từ vì nó không phải là tài sản riêng của cha mẹ của nó

  2. Quản lý các hoạt động dài hạn trong MongoDB

  3. Làm cách nào để quản lý các kết nối MongoDB trong ứng dụng web Node.js?

  4. Có cách nào để khôi phục các tài liệu đã xóa gần đây trong MongoDB không?

  5. Meteor mongo cập nhật mảng lồng nhau