Toán tử trong mongodb là gì?
MongoDB đi kèm với một danh sách dài các toán tử cho nhiều mục đích khác nhau. Các toán tử này có thể được sử dụng cho nhiều mục đích khác nhau. Ví dụ: bạn có thể muốn lọc các truy vấn của mình trong cơ sở dữ liệu hoặc có thể thực hiện một hành động bên trong cơ sở dữ liệu của mình. Bạn thậm chí có thể muốn so sánh giữa các tài liệu. Chà, danh sách sẽ tiếp tục nếu tôi ngồi và liệt kê tất cả các trường hợp sử dụng Show
Hôm nay, toán tử $in trong MongoDB được chúng tôi quan tâm. Toán tử $in cho phép bạn tìm tài liệu một cách chính xác. Toán tử này cũng có thể được sử dụng với các phương thức find() và update() Toán tử $in được sử dụng để chọn một tài liệu bên trong một bộ sưu tập. bằng cách so sánh các giá trị của một trường khớp với giá trị đã cho trong mảng. Trong trường hợp giá trị trường của tài liệu là một mảng, toán tử $in trong MongoDB sẽ chỉ chọn những tài liệu có trường chứa một mảng với ít nhất một mục khớp với giá trị đã cho trong đó Trong hướng dẫn này, tôi sẽ giải thích cho bạn cách sử dụng toán tử $in cho nhiều mục đích sử dụng. Chúng tôi sẽ lấy một cơ sở dữ liệu ngẫu nhiên cho các ví dụ và bộ sưu tập của chúng tôi với một loạt tài liệu trong đó Cú pháp của Toán tử $in trong MongoDB{ field: { $in: [, , .. ] } Vì vậy, chúng ta hãy bắt đầu khám phá và làm việc với một số trường hợp sử dụng của toán tử $in trong MongoDB Sử dụng toán tử $in trong MongoDB để so khớp các giá trịGiả sử chúng tôi có ứng dụng cửa hàng máy bay không người lái và chúng tôi có cơ sở dữ liệu nơi chúng tôi lưu trữ tất cả các mặt hàng máy bay không người lái của mình. Bây giờ, hãy để chúng tôi tìm hiểu cách chúng tôi có thể trích xuất các tài liệu có kết quả phù hợp dựa trên một giá trị nhất định Đối với hướng dẫn này, tôi đã tạo và lưu một số tài liệu trong bộ sưu tập máy bay không người lái của mình Thực hiện theo các bước dưới đây để bắt đầu
show dbs use droneStore
db.drones.find({}) { "_id" : ObjectId("6034fd2bf74cfd0438bdb19b"), "utility" : [ "Photography" ], "onSale" : false, "name" : "SV - Aira 157B", "price" : 2455, "weight" : "467 grams", "__v" : 0 } { "_id" : ObjectId("603502ba24df1c2350e676e7"), "utility" : [ "Monitoring or Inspection", "Security" ], "onSale" : false, "name" : "SV - Terrus D40", "price" : 5259, "weight" : "764 grams", "__v" : 0 } { "_id" : ObjectId("603502ba24df1c2350e676e8"), "utility" : [ "Recreation" ], "onSale" : false, "name" : "SV - Jovio J259", "price" : 1500, "weight" : "247 grams", "__v" : 0 } { "_id" : ObjectId("603502ba24df1c2350e676e9"), "utility" : [ "Delivery" ], "onSale" : false, "name" : "SV - CARRIER X288", "price" : 105499, "weight" : "26 kilograms", "__v" : 0 } { "_id" : ObjectId("60352beadecee830681c3b62"), "utility" : [ "Delivery" ], "onSale" : false, "name" : "SV - Grander 345X8", "price" : 43535, "weight" : "23 kilograms", "__v" : 0 } { "_id" : ObjectId("60352ecb6ce2811cc8892a75"), "utility" : [ "Monitoring or Inspection" ], "onSale" : false, "name" : "SV - LaserX AW205", "price" : 4000, "weight" : "2.3 kilograms", "__v" : 0 } { "_id" : ObjectId("6157239d341d653bccaf7822"), "utility" : [ "Recreation" ], "onSale" : false, "name" : "DF - Jetfire Nitro RX-V", "price" : 22000, "weight" : "3 kilograms", "__v" : 0 } { "_id" : ObjectId("6157240c341d653bccaf7823"), "utility" : [ "Monitoring or Inspection" ], "onSale" : false, "name" : "Pink Sentinel Q95", "price" : 13000, "weight" : "2 kilograms", "__v" : 0 } { "_id" : ObjectId("61573885341d653bccaf7825"), "utility" : [ "Security" ], "onSale" : false, "name" : "SV - Xorvia 9908Y", "price" : 7760, "weight" : "3.8 kilograms", "__v" : 0 } { "_id" : ObjectId("615738d6341d653bccaf7826"), "utility" : [ "Photography" ], "onSale" : false, "name" : "SV - Ryee SW657", "price" : 8900, "weight" : "760 grams", "__v" : 0 } { "_id" : ObjectId("61573946341d653bccaf7827"), "utility" : [ "Monitoring or Inspection" ], "onSale" : false, "name" : "RV - Zereca Eagle-i", "price" : 3200, "weight" : "1.7 kilograms", "__v" : 0 } { "_id" : ObjectId("615739bb341d653bccaf7828"), "utility" : [ "Delivery" ], "onSale" : false, "name" : "OS - Falcon GO!", "price" : 45000, "weight" : "17 kilograms", "__v" : 0 }
Như bạn có thể nhận thấy, chúng tôi có bốn tài liệu được lọc ra có chứa tiện ích “Giải trí” và “Bảo mật” Cập nhật tài liệu bằng Toán tử $in trong MongoDBBây giờ chúng ta hãy sử dụng phương thức update() trên tài liệu của mình để cập nhật giá trị của tài liệu. Hãy để chúng tôi xem làm thế nào chúng ta có thể làm như vậy. Dưới đây là các bước bạn có thể làm theo > db.drones.find({utility: {$in: ["Security", "Recreation"]}}) { "_id" : ObjectId("603502ba24df1c2350e676e7"), "utility" : [ "Monitoring or Inspection", "Security" ], "onSale" : false, "name" : "SV - Terrus D40", "price" : 5259, "weight" : "764 grams", "__v" : 0 } { "_id" : ObjectId("603502ba24df1c2350e676e8"), "utility" : [ "Recreation" ], "onSale" : false, "name" : "SV - Jovio J259", "price" : 1500, "weight" : "247 grams", "__v" : 0 } { "_id" : ObjectId("6157239d341d653bccaf7822"), "utility" : [ "Recreation" ], "onSale" : false, "name" : "DF - Jetfire Nitro RX-V", "price" : 22000, "weight" : "3 kilograms", "__v" : 0 } { "_id" : ObjectId("61573885341d653bccaf7825"), "utility" : [ "Security" ], "onSale" : false, "name" : "SV - Xorvia 9908Y", "price" : 7760, "weight" : "3.8 kilograms", "__v" : 0 }
{ "_id" : ObjectId("603502ba24df1c2350e676e8"), "utility" : [ "Recreation" ], "onSale" : false, "name" : "SV - Jovio J259", "price" : 1500, "weight" : "247 grams", "__v" : 0 }
> db.drones.update({name: {$in: ["SV - Jovio J259"]}}, {$set: {price: 2000}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.drones.find({name: {$in: ["SV - Jovio J259"]}}) { "_id" : ObjectId("603502ba24df1c2350e676e8"), "utility" : [ "Recreation" ], "onSale" : false, "name" : "SV - Jovio J259", "price" : 2000, "weight" : "247 grams", "__v" : 0 } Chúng ta đã sử dụng thành công toán tử $in trong MongoDB Đọc thêm. Chèn tài liệu vào MongoDB bằng Mongoose – Hướng dẫn nhanh năm 2021 Phần kết luậnHướng dẫn này thảo luận về cách bạn có thể sử dụng toán tử $in trong MongoDB để tra cứu tài liệu với một bộ lọc nhất định và cách thậm chí có thể cập nhật chúng Chúng ta có thể sử dụng toán tử in trong MongoDB không?Sử dụng Toán tử $in với Biểu thức chính quy
. Truy vấn này chọn tất cả các tài liệu trong bộ sưu tập kho trong đó trường thẻ chứa một chuỗi bắt đầu bằng be hoặc st hoặc một mảng có ít nhất một phần tử bắt đầu bằng be hoặc st. You cannot use $regex operator expressions inside an $in . This query selects all documents in the inventory collection where the tags field holds either a string that starts with be or st or an array with at least one element that starts with be or st .
Toán tử ở đâu trong MongoDB?Định nghĩa. Sử dụng toán tử $where để chuyển một chuỗi chứa biểu thức JavaScript hoặc hàm JavaScript đầy đủ tới hệ thống truy vấn . $where cung cấp tính linh hoạt cao hơn, nhưng yêu cầu cơ sở dữ liệu xử lý biểu thức hoặc hàm JavaScript cho từng tài liệu trong bộ sưu tập.
Làm cách nào để sử dụng MongoDB trong toán tử trong Java?Có một vài yêu cầu hệ thống chính cần xem xét. . Bạn cần đảm bảo rằng cả MongoDB và trình điều khiển Java MongoDB đều được cài đặt và định cấu hình đúng cách Bạn cũng cần xác nhận rằng Java JDK mới nhất đã được cài đặt và cấu hình trước đó Cuối cùng, bạn cần xác nhận rằng dịch vụ MongoDB đang chạy Làm cách nào để tìm giá trị trong mảng trong MongoDB?Để truy vấn xem trường mảng có chứa ít nhất một phần tử có giá trị được chỉ định hay không, hãy sử dụng bộ lọc { . Để chỉ định điều kiện cho các phần tử trong trường mảng, hãy sử dụng các toán tử truy vấn trong tài liệu bộ lọc truy vấn. { |