Tôi có một bộ sưu tập các tài liệu:MongoDB find() truy vấn: chỉ trả những giá trị duy nhất (không có bản sao)
{
"networkID": "myNetwork1",
"pointID": "point001",
"param": "param1"
}
{
"networkID": "myNetwork2",
"pointID": "point002",
"param": "param2"
}
{
"networkID": "myNetwork1",
"pointID": "point003",
"param": "param3"
}
...
pointIDs là duy nhất nhưng networkIDs thì không.
Có thể truy vấn MongoDB theo cách như vậy mà kết quả sẽ là: [myNetwork1, myNetwork2]
ngay bây giờ tôi chỉ cố gắng quay trở lại [myNetwork1, myNetwork2, myNetwork1]
tôi cần một danh sách các networkID duy nhất để điền một thành phần select2 tự động hoàn thành. Vì tôi có thể có tối đa 50 nghìn tài liệu, tôi muốn mongoDb lọc kết quả ở cấp truy vấn.
gì nếu tôi muốn có được ghi đầy đủ? Điều này sẽ chỉ trả về 'NetworkID'. –
@ HalfBloodPrince, hồ sơ đầy đủ? 'distinct' trả về tất cả các giá trị duy nhất cho một trường. Trả lại hồ sơ hoặc hồ sơ không có ý nghĩa trong ngữ cảnh này. Bạn sẽ phải sử dụng đường ống tổng hợp [toán tử '$'] (https://docs.mongodb.com/manual/reference/operator/aggregation/group/) để có các bản ghi riêng biệt. – Paul
@ HalfBloodPrince: nếu bạn muốn có một bản ghi đầy đủ, hãy xem https://stackoverflow.com/a/44887521/1587329 –