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
4Thí 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ệuNế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
1Kết quả
db.products.findOne[].product
2Và 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
3Kết quả
db.products.findOne[].product
4Mảng dựa trên số không và do đó,
Bat0 tham chiếu đến phần tử đầu tiên trong mảng,
Bat1 tham chiếu đến phần tử thứ hai,
Bat2 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ênTôi nói "đối số đầu tiên" vì
db.products.findOne[].product
4 cũng chấp nhận đối số Bat5 làm đối số thứ hai tùy chọn
db.products.findOne[].product
1Kết quả
db.products.findOne[].product
2Trong 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 ứngvỏ 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ả
57db.products.findOne[].product
sợi dây
Trường để trả về các giá trị riêng biệt
58db.products.findOne[].product
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
59db.products.findOne[].product
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ợpSơ đồ sau đây minh họa một ví dụ về cuộc gọi
91 . db.products.findOne[].product
Tùy chọn
db.products.findOne[].product
1Đồng ruộng
Loại hình
Sự mô tả
92db.products.findOne[].product
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 âmTrường duy nhất trong MongoDB ở đâu?
Làm cách nào để nhận các giá trị từ MongoDB?
$[] trong MongoDB là gì?
Bạn sẽ sử dụng phương pháp nào để chèn một dữ liệu trên MongoDB?