Toán tử MongoDB $Min

Toan Tu Mongodb Min



Nếu bạn không phải là người mới sử dụng cơ sở dữ liệu hoặc lập trình, chắc hẳn bạn đã thử các chương trình và truy vấn sử dụng toán tử so sánh – lớn hơn, nhỏ hơn, bằng, v.v. Trong MongoDB, nơi chúng tôi sử dụng toán tử “$set” để cập nhật một bản ghi trường cụ thể hoặc thêm một bản ghi mới vào cơ sở dữ liệu, chúng ta cũng có thể đạt được kết quả tương tự bằng cách sử dụng các toán tử so sánh như “$min” và “$max”. Trong MongoDB, toán tử “$min” có thể được sử dụng trong nhiều truy vấn hàm để cập nhật một trường cụ thể khi giá trị mới nhỏ hơn giá trị đã chèn. Ngoài ra, nó có thể được sử dụng để nhóm và hiển thị các bản ghi của một bộ sưu tập theo một thứ tự cụ thể. Hướng dẫn này giúp bạn tìm ra các cách khác nhau để loại bỏ toán tử “$min” trong MongoDB.

Ví dụ 1:

Bắt đầu với hình minh họa đầu tiên, chúng tôi chứng minh việc sử dụng toán tử “$min” trong MongoDB để cập nhật bản ghi đã được chèn bằng công cụ trình bao MongoDB trong hệ thống Windows. Do đó, bạn phải có một số bản ghi đã được thêm vào cơ sở dữ liệu của mình. Vì vậy, chúng tôi sử dụng truy vấn hàm insertMany() để thêm tổng cộng 5 bản ghi vào bộ sưu tập “thứ tự” của cơ sở dữ liệu “thử nghiệm”. Mỗi bản ghi đã chèn được hiển thị trong hình minh họa sau chứa tổng cộng 4 trường – id, tiêu đề, giá bán và thuế. Dữ liệu 5 bản ghi này được chèn thành công theo đầu ra đính kèm:

kiểm tra > db.order.insertMany ( [ { 'Tôi' :01, 'Chức vụ' : 'Xà bông tắm' , 'Giá bán' : 500 , 'Thuế' : 24 } ,
... { 'Tôi' :02, 'Chức vụ' : 'Dầu gội đầu' , 'Giá bán' : 700 , 'Thuế' : 27 } ,
... { 'Tôi' :03, 'Chức vụ' : 'Chất tẩy rửa' , 'Giá bán' : 400 , 'Thuế' : 22 } ,
... { 'Tôi' :04, 'Chức vụ' : 'Nước hoa' , 'Giá bán' : 900 , 'Thuế' : 30 } ,
... { 'Tôi' :05, 'Chức vụ' : 'Sương mù' , 'Giá bán' : 850 , 'Thuế' : 27 } ] )







Đã đến lúc xem bản ghi đã chèn trong cơ sở dữ liệu “thử nghiệm”. Để làm được điều đó, bạn cần loại bỏ phương thức “find()” cùng với phương thức “forEach”, lấy “printjson” làm đối số trong lệnh “db”. Sử dụng bộ sưu tập có tên “đặt hàng”, chúng tôi có một bản ghi được hiển thị trên màn hình.



kiểm tra > db.order.find ( ) .cho mỗi ( injson )



Đã đến lúc sử dụng toán tử “$min” trong truy vấn hàm “updateOne” để cập nhật một bản ghi từ bộ sưu tập “order” vừa được tạo. Trường “id” được sử dụng làm mã định danh duy nhất để cập nhật một bản ghi cụ thể từ cơ sở dữ liệu trong khi toán tử “$min” được áp dụng cho trường “SalePrice” để cập nhật giá trị của nó thành 600 nếu nó nhỏ hơn giá trị đã chèn. Thông báo đầu ra cho thấy truy vấn thành công nhưng không có cập nhật nào được thực hiện.





kiểm tra > db.order.updateOne ( { Tôi: 3 } , { $min : { Giá bán: 600 } } )

Lý do tại sao không có cập nhật nào được thực hiện cho trường “SalePrice” của bản ghi thứ 3 là vì nó chứa giá trị “400” nhỏ hơn “600″. Do đó, toán tử “$min” không cập nhật giá trị nhỏ nhất là “400” với giá trị lớn hơn là “600” theo truy vấn find() được đính kèm sau đây:



kiểm tra > db.order.find ( ) .cho mỗi ( injson )

Lần này, hãy thực hiện một thay đổi nhỏ đối với truy vấn cập nhật để có kết quả đầu ra khác. Chúng tôi sử dụng cùng một hướng dẫn “db” sử dụng chức năng “updateOne” trong đó để sửa đổi một bản ghi duy nhất của “3”. Toán tử “$min” được áp dụng cho trường “SalePrice” để đặt giá trị của nó thành “300” nếu giá trị của “300” nhỏ hơn giá trị đã được chèn. Chúng tôi biết rằng giá trị đã được chèn là “400” của trường SalePrice lớn hơn giá trị mới là “300” để so sánh. Vì vậy, lần này nó thay thế “400” bằng “300”. Thông báo đầu ra hiển thị việc thực hiện thành công truy vấn này. Số lượng sửa đổi = 1 có nghĩa là 1 bản ghi được sửa đổi.

kiểm tra > db.order.updateOne ( { Tôi: 3 } , { $min : { Giá bán: 300 } } )

Sau khi hiển thị các bản ghi của bộ sưu tập “đặt hàng” từ cơ sở dữ liệu “thử nghiệm” ở định dạng JSON thông qua hướng dẫn hàm “find()” trong trình bao MongoDB, chúng tôi nhận thấy rằng bản ghi thứ 3 được cập nhật thành công. Giá trị 400 của trường “SalePrice” được thay thế bằng giá trị 300.

kiểm tra > db.order.find ( ) .cho mỗi ( injson )

Ví dụ 2:

Trong hình minh họa MongoDB này, chúng tôi tìm nạp các bản ghi của một cơ sở dữ liệu cụ thể bằng cách nhóm chúng liên quan đến toán tử “$min” theo giá trị tối thiểu trong các bản ghi. Giả sử rằng bạn có 5 bản ghi giống nhau trong bộ sưu tập “thứ tự” của cơ sở dữ liệu “thử nghiệm” của MongoDB và bạn cần có một số dữ liệu trùng lặp trong các trường cụ thể của cơ sở dữ liệu “thử nghiệm”. Đối với điều này, chúng tôi thêm nhiều bản ghi hơn vào bộ sưu tập 'thứ tự' của cơ sở dữ liệu 'thử nghiệm'. Lần này, chúng tôi chèn các giá trị trùng lặp cho trường “Tiêu đề”. Nó được sử dụng trong mệnh đề “$group” để tạo thành một nhóm các giá trị duy nhất. Đầu ra sau đây hiển thị thêm 3 bản ghi mới được chèn cho cơ sở dữ liệu “thử nghiệm”. Giờ đây, bộ sưu tập “đơn hàng” có các giá trị trùng lặp cho trường “Tiêu đề” so với 5 bản ghi cũ. Phần còn lại sử dụng như nhau.

Sau khi có tổng cộng 8 bản ghi trong bộ sưu tập “thứ tự” của cơ sở dữ liệu “thử nghiệm”, đã đến lúc kiểm tra toán tử $min của MongoDB sau ứng dụng của nó trên một trường cụ thể được nhóm theo một trường khác. Lệnh tổng hợp đính kèm là tất cả về điều này. Nó bắt đầu với từ khóa “db”, theo sau là tên của một bộ sưu tập trong một cơ sở dữ liệu cụ thể và hàm tổng hợp(). Hàm tổng hợp bắt đầu bằng việc sử dụng mệnh đề $group của MongoDB, đặc biệt được sử dụng ở đây để hiển thị dữ liệu trong một nhóm liên quan đến trường “Tiêu đề” của cơ sở dữ liệu “kiểm tra” trong đó trường “Tiêu đề” được lấy làm khóa duy nhất .

Đồng thời, trường giá được khởi tạo riêng, trường này chỉ lấy bản ghi giá trị nhỏ nhất trong tổng số 8 bản ghi giống nhau thông qua toán tử “$min” được áp dụng cho trường đó. Đầu ra của việc thực hiện truy vấn này cho thấy hiển thị của 5 bản ghi với một chút cập nhật trong phần giá. Bạn có thể thấy rằng không có bản ghi lặp lại nào được hiển thị. Một số bản ghi giá trị nhỏ nhất và duy nhất được hiển thị ở đây.

kiểm tra > db.order.aggregate ( [ { nhóm $ : { _Tôi: ' $Title ' , giá bán: { $min : ' $Giảm Giá ' } } } ] )

Phần kết luận

Hướng dẫn này là tập hợp các hình minh họa MongoDB để hiển thị một cách đơn giản có thể sử dụng toán tử “$min”. Đoạn giới thiệu được sử dụng để thảo luận về mục đích sử dụng của nó trong MongoDB. Phần đầu tiên của bài viết này thảo luận về cách toán tử “$min” hoạt động và không hoạt động đối với một bản ghi trong cơ sở dữ liệu, tức là để cập nhật hoặc chèn một bản ghi dưới dạng giá trị tối thiểu. Ngoài ra, các ví dụ cuối cùng chứng minh việc sử dụng nó để nhóm bản ghi bộ sưu tập là duy nhất trong toàn bộ cơ sở dữ liệu.