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 | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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
|
|||||||||||||
|
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. |
Static methods
You can use the following static methods to manage the Collection
collection in FQL.
Method | Description |
---|---|
Dynamically get the Collection by name. |
|
Get the Set of all accessible Collection objects. |
|
Get a Collection document by its name. |
|
Create a Collection. |
|
Get the first matching accessible Collection. |
|
Get the name of the Collection collection as a string. |
|
Get the Set of accessible Collections in the database. |
Instance properties
Collection
documents have the following properties. You
access the property using an existing collection’s name.
Property | Description |
---|---|
Get or update 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 the Set of all documents in the Collection. |
|
Get a document by its document ID. |
|
Create a document in the Collection. |
|
Create a document in the Collection with a data field. |
|
Get the first matching accessible document in the Collection. |
|
Get the Set of matching accessible documents in the Collection. |
|
Calls 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!