Skip to main content
Module

x/appwrite/mod.ts>Databases

[READ-ONLY] Official Appwrite Deno SDK 🦕
Go to Latest
class Databases
extends Service
Re-export
import { Databases } from "https://deno.land/x/appwrite@8.0.0/mod.ts";

Constructors

new
Databases(client: Client)

Methods

create(
databaseId: string,
name: string,
enabled?: boolean,
): Promise<Models.Database>

Create Database

Create a new Database.

createBooleanAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: boolean,
array?: boolean,
): Promise<Models.AttributeBoolean>

Create Boolean Attribute

Create a boolean attribute.

createCollection(
databaseId: string,
collectionId: string,
name: string,
permissions?: string[],
documentSecurity?: boolean,
enabled?: boolean,
): Promise<Models.Collection>

Create Collection

Create a new Collection. Before using this route, you should create a new database resource using either a server integration API or directly from your database console.

createDatetimeAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
array?: boolean,
): Promise<Models.AttributeDatetime>

Create DateTime Attribute

createDocument<Document extends Models.Document>(
databaseId: string,
collectionId: string,
documentId: string,
data: object,
permissions?: string[],
): Promise<Document>

Create Document

Create a new Document. Before using this route, you should create a new collection resource using either a server integration API or directly from your database console.

createEmailAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
array?: boolean,
): Promise<Models.AttributeEmail>

Create Email Attribute

Create an email attribute.

createEnumAttribute(
databaseId: string,
collectionId: string,
key: string,
elements: string[],
required: boolean,
xdefault?: string,
array?: boolean,
): Promise<Models.AttributeEnum>

Create Enum Attribute

createFloatAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
min?: number,
max?: number,
xdefault?: number,
array?: boolean,
): Promise<Models.AttributeFloat>

Create Float Attribute

Create a float attribute. Optionally, minimum and maximum values can be provided.

createIndex(
databaseId: string,
collectionId: string,
key: string,
type: string,
attributes: string[],
orders?: string[],
): Promise<Models.Index>

Create Index

createIntegerAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
min?: number,
max?: number,
xdefault?: number,
array?: boolean,
): Promise<Models.AttributeInteger>

Create Integer Attribute

Create an integer attribute. Optionally, minimum and maximum values can be provided.

createIpAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
array?: boolean,
): Promise<Models.AttributeIp>

Create IP Address Attribute

Create IP address attribute.

createRelationshipAttribute(
databaseId: string,
collectionId: string,
relatedCollectionId: string,
type: string,
twoWay?: boolean,
key?: string,
twoWayKey?: string,
onDelete?: string,
): Promise<Models.AttributeRelationship>

Create Relationship Attribute

Create relationship attribute. Learn more about relationship attributes.

createStringAttribute(
databaseId: string,
collectionId: string,
key: string,
size: number,
required: boolean,
xdefault?: string,
array?: boolean,
encrypt?: boolean,
): Promise<Models.AttributeString>

Create String Attribute

Create a string attribute.

createUrlAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
array?: boolean,
): Promise<Models.AttributeUrl>

Create URL Attribute

Create a URL attribute.

delete(databaseId: string): Promise<Response>

Delete Database

Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.

deleteAttribute(
databaseId: string,
collectionId: string,
key: string,
): Promise<Response>

Delete Attribute

deleteCollection(databaseId: string, collectionId: string): Promise<Response>

Delete Collection

Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.

deleteDocument(
databaseId: string,
collectionId: string,
documentId: string,
): Promise<Response>

Delete Document

Delete a document by its unique ID.

deleteIndex(
databaseId: string,
collectionId: string,
key: string,
): Promise<Response>

Delete Index

get(databaseId: string): Promise<Models.Database>

Get Database

Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata.

getAttribute(
databaseId: string,
collectionId: string,
key: string,
): Promise<Response>

Get Attribute

getCollection(databaseId: string, collectionId: string): Promise<Models.Collection>

Get Collection

Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.

getDocument<Document extends Models.Document>(
databaseId: string,
collectionId: string,
documentId: string,
queries?: string[],
): Promise<Document>

Get Document

Get a document by its unique ID. This endpoint response returns a JSON object with the document data.

getIndex(
databaseId: string,
collectionId: string,
key: string,
): Promise<Models.Index>

Get Index

list(queries?: string[], search?: string): Promise<Models.DatabaseList>

List Databases

Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results.

listAttributes(
databaseId: string,
collectionId: string,
queries?: string[],
): Promise<Models.AttributeList>

List Attributes

listCollections(
databaseId: string,
queries?: string[],
search?: string,
): Promise<Models.CollectionList>

List Collections

Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results.

listDocuments<Document extends Models.Document>(
databaseId: string,
collectionId: string,
queries?: string[],
): Promise<Models.DocumentList<Document>>

List Documents

Get a list of all the user's documents in a given collection. You can use the query params to filter your results.

listIndexes(
databaseId: string,
collectionId: string,
queries?: string[],
): Promise<Models.IndexList>

List Indexes

update(
databaseId: string,
name: string,
enabled?: boolean,
): Promise<Models.Database>

Update Database

Update a database by its unique ID.

updateBooleanAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: boolean,
): Promise<Models.AttributeBoolean>

Update Boolean Attribute

updateCollection(
databaseId: string,
collectionId: string,
name: string,
permissions?: string[],
documentSecurity?: boolean,
enabled?: boolean,
): Promise<Models.Collection>

Update Collection

Update a collection by its unique ID.

updateDatetimeAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
): Promise<Models.AttributeDatetime>

Update DateTime Attribute

updateDocument<Document extends Models.Document>(
databaseId: string,
collectionId: string,
documentId: string,
data?: object,
permissions?: string[],
): Promise<Document>

Update Document

Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.

updateEmailAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
): Promise<Models.AttributeEmail>

Update Email Attribute

Update an email attribute. Changing the default value will not update already existing documents.

updateEnumAttribute(
databaseId: string,
collectionId: string,
key: string,
elements: string[],
required: boolean,
xdefault?: string,
): Promise<Models.AttributeEnum>

Update Enum Attribute

Update an enum attribute. Changing the default value will not update already existing documents.

updateFloatAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
min: number,
max: number,
xdefault?: number,
): Promise<Models.AttributeFloat>

Update Float Attribute

Update a float attribute. Changing the default value will not update already existing documents.

updateIntegerAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
min: number,
max: number,
xdefault?: number,
): Promise<Models.AttributeInteger>

Update Integer Attribute

Update an integer attribute. Changing the default value will not update already existing documents.

updateIpAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
): Promise<Models.AttributeIp>

Update IP Address Attribute

Update an ip attribute. Changing the default value will not update already existing documents.

updateRelationshipAttribute(
databaseId: string,
collectionId: string,
key: string,
onDelete?: string,
): Promise<Models.AttributeRelationship>

Update Relationship Attribute

Update relationship attribute. Learn more about relationship attributes.

updateStringAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
): Promise<Models.AttributeString>

Update String Attribute

Update a string attribute. Changing the default value will not update already existing documents.

updateUrlAttribute(
databaseId: string,
collectionId: string,
key: string,
required: boolean,
xdefault?: string,
): Promise<Models.AttributeUrl>

Update URL Attribute

Update an url attribute. Changing the default value will not update already existing documents.