Mam zbiór dokumentów:MongoDB find() zapytanie: return tylko unikatowe wartości (bez duplikaty)
{
"networkID": "myNetwork1",
"pointID": "point001",
"param": "param1"
}
{
"networkID": "myNetwork2",
"pointID": "point002",
"param": "param2"
}
{
"networkID": "myNetwork1",
"pointID": "point003",
"param": "param3"
}
...
pointIDs są unikalne ale networkIDs nie.
Czy to możliwe, aby zapytać MongoDB w taki sposób, że wynik będzie: [myNetwork1, myNetwork2]
teraz tylko udało mi się powrócić [myNetwork1, myNetwork2, myNetwork1]
muszę lista unikalnych identyfikatorów sieciowych do zapełniania autouzupełniania komponentu select2. Ponieważ mogę mieć do 50 KB dokumentów, wolałbym, aby mongoDb filtrował wyniki na poziomie zapytania.
Co jeśli chcę uzyskać pełny rekord? Zwróci to tylko 'NetworkID'. –
@HalfBloodPrince, jaki pełny rekord? 'distinct' zwraca wszystkie unikalne wartości dla pola. Zwracanie rekordu lub rekordów nie ma sensu w tym kontekście. Będziesz musiał użyć potoku agregacji ['$ group' operator] (https://docs.mongodb.com/manual/reference/operator/aggregation/group/) dla różnych + rekordów. – Paul
@HalfBloodPrince: jeśli chcesz uzyskać pełny zapis, zajrzyj na https://stackoverflow.com/a/44887521/1587329 –