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. |
Collection
Learn: Collection schema |
---|
We recommend you use FSL to create and update user-defined collections. See FSL collection schema. |
You add data to Fauna as JSON-like documents, stored in collections.
Collection
collection
Fauna stores user-defined collections as
documents in the Collection
system collection. These documents have the
CollectionDef type and are an FQL version of the FSL
collection schema.
Collection
documents have the following FQL structure:
{
name: "Customer",
coll: Collection,
ts: Time("2099-10-03T20:45:53.780Z"),
history_days: 0,
fields: {
name: {
signature: "String"
},
email: {
signature: "String"
},
address: {
signature: "{ street: String, city: String, state: String, postalCode: String, country: String }"
}
},
wildcard: "Any",
computed_fields: {
cart: {
body: "(customer) => Order.byCustomerAndStatus(customer, \"cart\").first()",
signature: "Order?"
},
orders: {
body: "(customer) => Order.byCustomer(customer)",
signature: "Set<Order>"
}
},
indexes: {
byEmail: {
terms: [
{
field: ".email",
mva: false
}
],
values: [
{
field: ".email",
order: "desc",
mva: false
},
{
field: ".name",
order: "asc",
mva: false
}
],
queryable: true,
status: "complete"
},
},
ttl_days: 10,
constraints: [
{
unique: [
{
field: ".email",
mva: false
}
],
status: "active"
}
],
document_ttls: true,
migrations: [
{
add_wildcard: {}
}
]
}
Field | Type | Read-only | Required | Description |
---|---|---|---|---|
|
true |
Name of the collection. |
||
|
true |
The |
||
|
true |
Timestamp of the most recent document write. |
||
|
FQL version of the collection schema’s computed fields. See FSL collection schema: Computed field definitions |
|||
|
FQL version of the collection schema’s check and unique constraints. See FSL collection schema: Check constraint definitions and FSL collection schema: Unique constraint definitions. |
|||
|
Arbitrary user-defined metadata. |
|||
|
Boolean | |
If true, you can write to the
|
||
|
FQL version of the collection schema’s field definitions. See FSL collection schema: Field definitions. |
|||
|
Number of days of history to retain for collection documents. When the number of days lapses, document snapshots older than the interval are removed. Does not affect the current version of documents. Defaults to |
|||
|
FQL version of the collection schema’s index definitions. See Index definitions.
|
|||
|
FQL version of the collection schema’s migrations block. See FSL collection schema: Migrations block. |
|||
|
Documents are deleted Defaults to |
|||
|
FQL version of the collection schema’s wildcard constraint. See Wildcard constraints. |
indexes
build fields
indexes
objects include fields you can use to monitor the
index build:
Field | Type | Read-only | Required | Description |
---|---|---|---|---|
|
true |
If true, the index is queryable. If false, the index is not queryable. |
||
|
Union of |
true |
Status of the index build.
Possible values are |
Static methods
You can use the following static methods to manage the Collection
collection in FQL.
Method | Description |
---|---|
Access a collection by its name. |
|
Get a Set of all collection definitions for the database. |
|
Get a collection definition by the collection’s name. |
|
Create a collection. |
|
Get the first collection definition that matches a provided predicate. |
|
Get |
|
Get a Set of collection definitions that match a provided predicate. |
Instance properties
Collection
documents have the following properties. You
access the property using an existing collection’s name.
Property | Description |
---|---|
A collection’s definition, represented as a |
Instance methods
You can use the following instance methods to manage collection definitions,
represented as Collection
documents, in FQL. You call the methods on a
CollectionDef.
Method | Description |
---|---|
Delete a collection. |
|
Test if a collection exists. |
|
Replace a collection definition. |
|
Update a collection definition. |
Collection name methods
You can use the following collection name methods to create and manage documents within a user-defined collection using FQL. You call the methods directly on an existing collection’s name.
Method | Description |
---|---|
Get a Set of all documents in a collection. |
|
Get a collection document by its
document |
|
Create a collection document. |
|
Create a collection document from an object that may contain metadata fields. |
|
Get the first collection document that matches a provided predicate. |
|
Get a Set of collection documents that match a provided predicate. |
|
Call an index as a method to get a Set of matching collection documents. |
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!