Using “distinct” in RethinkDB is as simple as adding an additional predicate:
r.db('test')
.table('salaries')
.pluck('role')
.distinct()
3 rows returned in 42ms.
role
|
|
1
|
undefined
|
2
|
Designer
|
3
|
Manager
|
You can add as many columns as you need:
r.db('test')
.table('salaries')
.pluck('role', 'level')
.distinct()
7 rows returned in 42ms.
level
|
role
|
|
1
|
undefined
|
undefined
|
2
|
1
|
Designer
|
3
|
13
|
Manager
|
4
|
2
|
Designer
|
5
|
2
|
Manager
|
6
|
3
|
Designer
|
7
|
3
|
Manager
|
Also, unlike some other predicates, this does not transform the data into some weird other data type, so you can operate on it as you would any other:
r.db('test')
.table('salaries')
.pluck('role', 'level')
.distinct()
.group('role')
.count()