Giá trị duy nhất trong MongoDB ở đâu?

Khi bạn sử dụng các phương thức như

db.products.findOne().product
2 hoặc
db.products.findOne().product
3 trong MongoDB, theo mặc định, bạn sẽ nhận được toàn bộ tài liệu được trả về. Và nếu bạn sử dụng các phép chiếu, bạn có thể trả về các cặp khóa/giá trị cụ thể

Nhưng nếu bạn chỉ muốn giá trị thì sao?

Bạn có thể trích xuất giá trị của một trường bằng cách thêm tên của trường đó vào truy vấn của mình khi sử dụng

db.products.findOne().product
4

Thí dụ

Giả sử chúng ta có một bộ sưu tập tên là

db.products.findOne().product
5 với các tài liệu sau

{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] }
{ "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] }
{ "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L" ] }

Nếu chúng tôi muốn trả lại sản phẩm của tài liệu đầu tiên, chúng tôi có thể làm như sau

db.products.findOne().product

Kết quả

Bat

Lưu ý rằng chúng tôi đã sử dụng phương pháp

db.products.findOne().product
4. Kỹ thuật này không hoạt động trên phương pháp
db.products.findOne().product
7. Phương thức
db.products.findOne().product
4 trả về một tài liệu duy nhất, trong khi phương thức
db.products.findOne().product
7 chỉ trả về một con trỏ tới tài liệu

Nếu chúng ta muốn trả về mảng, chúng ta có thể làm điều này

db.products.findOne().product
1

Kết quả

db.products.findOne().product
2

Và chúng ta có thể nhận được một giá trị mảng bằng cách tham khảo chỉ số của nó

db.products.findOne().product
3

Kết quả

db.products.findOne().product
4

Mảng dựa trên số không và do đó,

Bat
0 tham chiếu đến phần tử đầu tiên trong mảng,
Bat
1 tham chiếu đến phần tử thứ hai,
Bat
2 tham chiếu đến phần tử thứ ba, v.v.

Tài liệu cụ thể

Theo mặc định, phương thức

db.products.findOne().product
4 trả về tài liệu đầu tiên trong bộ sưu tập. Chúng tôi có thể chọn một tài liệu khác bằng cách chỉ định chuyển một truy vấn làm đối số đầu tiên

Tôi nói "đối số đầu tiên" vì

db.products.findOne().product
4 cũng chấp nhận đối số
Bat
5 làm đối số thứ hai tùy chọn

db.products.findOne().product
1

Kết quả

db.products.findOne().product
2

Trong trường hợp này, tôi đã thêm một đối số chiếu, nhưng nó không ảnh hưởng đến kết quả. Nhưng nó sẽ có tác dụng nếu tôi chỉ định giá trị bằng 0. Điều đó sẽ dẫn đến không có gì được trả lại

Truy vấn sau đây chọn tất cả các tài liệu từ bộ sưu tập

db.products.findOne().product
35 trong đó
db.products.findOne().product
37 không bằng 5 hoặc 15

Đối với tài liệu trình bao kế thừa

db.products.findOne().product
56, hãy tham khảo tài liệu cho bản phát hành Máy chủ MongoDB tương ứng

  • vỏ mongo v4. 4

  • vỏ mongo v4. 2

Tìm các giá trị riêng biệt cho một trường được chỉ định trong một bộ sưu tập hoặc dạng xem và trả về kết quả trong một mảng

Phương thức này nhận các tham số sau

Tham số

Loại hình

Sự mô tả

db.products.findOne().product
57

sợi dây

Trường để trả về các giá trị riêng biệt

db.products.findOne().product
58

tài liệu

Một truy vấn chỉ định các tài liệu để truy xuất các giá trị riêng biệt

db.products.findOne().product
59

tài liệu

Tùy chọn. Một tài liệu chỉ định các tùy chọn. Xem Tùy chọn.

Ghi chú

Kết quả không được lớn hơn kích thước BSON tối đa. Nếu kết quả của bạn vượt quá kích thước BSON tối đa, hãy sử dụng quy trình tổng hợp để truy xuất các giá trị riêng biệt bằng cách sử dụng toán tử

db.products.findOne().product
90, như được mô tả trong Truy xuất các giá trị khác biệt bằng quy trình tổng hợp

Sơ đồ sau đây minh họa một ví dụ về cuộc gọi

db.products.findOne().product
91 .

Giá trị duy nhất trong MongoDB ở đâu?

Tùy chọn

db.products.findOne().product
1

Đồng ruộng

Loại hình

Sự mô tả

db.products.findOne().product
92

tài liệu

Không bắt buộc

Chỉ định đối chiếu để sử dụng cho hoạt động

Đối chiếu cho phép người dùng chỉ định các quy tắc dành riêng cho ngôn ngữ để so sánh chuỗi, chẳng hạn như quy tắc cho chữ cái và dấu trọng âm

Trường duy nhất trong MongoDB ở đâu?

Để nhận các giá trị duy nhất và bỏ qua các giá trị trùng lặp, hãy sử dụng differ() trong MongoDB. khác biệt () tìm các giá trị riêng biệt cho một trường được chỉ định trên một bộ sưu tập và trả về kết quả trong một mảng.

Làm cách nào để nhận các giá trị từ MongoDB?

Đầu tiên, chúng ta sẽ sử dụng phương thức find hoặc findone để tìm nạp dữ liệu cần thiết và sau đó sử dụng phương thức tổng hợp . Ở đây, chúng tôi sẽ viết các truy vấn cả trong truy vấn trình bao MongoDB và mã trình điều khiển Java. Hãy xem các cách khác nhau để truy xuất giá trị trong MongoDB theo tên trường.

$[] trong MongoDB là gì?

Định nghĩa. $[] Toán tử tất cả vị trí $[] chỉ ra rằng toán tử cập nhật nên sửa đổi tất cả các phần tử trong trường mảng đã chỉ định . Toán tử $[] có dạng sau. {

Bạn sẽ sử dụng phương pháp nào để chèn một dữ liệu trên MongoDB?

insertOne() chèn một tài liệu vào một bộ sưu tập.