Check out v4 of the Fauna CLI

v4 of the Fauna CLI is now in beta.

The new version introduces enhancements to the developer experience, including an improved authentication workflow. To get started, check out the CLI v4 quick start.

set.toArray()

Convert a Set to an Array.

Signature

toArray() => Array<A>

Description

Converts the calling Set to an Array.

The calling Set isn’t changed.

Eager loading

This method uses eager loading and requires a read of each document in the calling Set. For large Sets, this may result in poor performance and high costs.

Performance hint: full_set_read

Queries that call this method on a document Set emit a performance hint, if enabled. For example, the following query:

// Use `toArray()` to convert the `Product` collection
// to an Array.
Product.all().toArray()

Emits the following hint:

performance_hint: full_set_read - Using toArray() causes the full set to be read. See https://docs.fauna.com/performance_hint/full_set_read.
at *query*:3:22
  |
3 | Product.all().toArray()
  |                      ^^
  |

To address the hint, use set.take() to explicitly limit the size of the calling Set to fewer than 100 documents:

// Limit the doc Set's size using `take()`
Product.all().take(20).toArray()

This applies even if the original, unbounded Set contains fewer than 100 documents.

Alternatively, you can rewrite the query to avoid calling the method.

Avoid use on large sets

Because this method scans the full Set, it returns an error if there are more than 16,000 documents in the Set. This method can timeout for large Sets under that limit.

Parameters

None

Return value

Type Description

Array<Generic>

Array representation of the Set instance.

Examples

// `toSet()` converts an Array to a Set.
let set = [1, 2].toSet()
set.toArray()
[
  1,
  2
]

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!