sequence.distinct() → array table.distinct([index=<indexname>]) → stream r.distinct(sequence) → array r.distinct(table, [index=<indexname>]) → stream
Removes duplicate elements from a sequence.
distinct command can be called on any sequence or table with an index.
distinctcan be called on a table without an index, the only effect will be to convert the table into a stream; the content of the stream will not be affected.
Example: Which unique villains have been vanquished by Marvel heroes?
r.table('marvel').concat_map( lambda hero: hero['villain_list']).distinct().run(conn)
Example: Topics in a table of messages have a secondary index on them, and more than one message can have the same topic. What are the unique topics in the table?
The above structure is functionally identical to:
However, the first form (passing the index as an argument to
distinct) is faster, and won’t run into array limit issues since it’s returning a stream.
Couldn't find what you were looking for?
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.