collection.all()

Get a Set of all documents in a collection.

Signature

all() => Set<A>

all(range: {from: Any, to: Any}) => Set<A>

Description

Returns a Set containing all documents in the collection.

To limit the Set, you can provide an optional range of document `id`s.

If all() is the last expression in a query, the first page of the Set is returned.

Built-in index

Fauna implements .all() as a built-in collection index. The index uses ascending the document id as its only index value. The .all() index has no index terms.

Like all indexes, the .all() index reads historical data when queried.

Parameters

Parameter Type Required Description

range

Object

Object describing the range. Returns all members of the Set greater than or equal to from and less than or equal to to, including duplicates for an unordered Set. If a range is omitted, the method returns all collection objects.

Ranges for documents are accepted only by document ID, such that myDocument.all( {from: myDocument.byid(123)} ) returns all documents beginning with and including document ID 123.

Range fields

Name Type Required Description

from

Any

Beginning of range.

to

Any

End of range.

Return value

Type Description

Set<Generic>

All documents in the collection in the given range.

Examples

  1. First, get all documents in the collection instance:

    Category.all()
    {
      data: [
        {
          id: "123",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "party",
          description: "Party Supplies"
        },
        {
          id: "456",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "frozen",
          description: "Frozen Foods"
        },
        {
          id: "789",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "produce",
          description: "Fresh Produce"
        }
      ]
    }
  2. Provide a range to get all documents beginning with a given document:

    let frozen = Category.byName("frozen").first()
    Category.all({from: frozen})
    {
      data: [
        {
          id: "456",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "frozen",
          description: "Frozen Foods"
        },
        {
          id: "789",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "produce",
          description: "Fresh Produce"
        }
      ]
    }
  3. Get all documents beginning up to a given document:

    let frozen = Category.byName("frozen").first()
    Category.all({to: frozen})
    {
      data: [
        {
          id: "123",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "party",
          description: "Party Supplies"
        },
        {
          id: "456",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "frozen",
          description: "Frozen Foods"
        }
      ]
    }
  4. Get all documents between the given from and to range parameters (inclusive):

    let party = Category.byName("party").first()
    let frozen = Category.byName("frozen").first()
    Category.all({from: party, to: frozen})
    {
      data: [
        {
          id: "123",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "party",
          description: "Party Supplies"
        },
        {
          id: "456",
          coll: Category,
          ts: Time("2099-07-30T21:56:38.130Z"),
          products: "hdW...",
          name: "frozen",
          description: "Frozen Foods"
        }
      ]
    }

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!