Data Storage

Основные методы для работы с DataStorage

Получение списка коллекций

GET https://api.mixapp.io/v1/workplaces/:name/storages

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

X-Auth-Token

string

Токен, полученный при авторизации

{ 
    "result": [
        {
            "name": "users"
        },
        {
            "name": "companies"
        },
        {
            "name": "mailsenderlog"
        },
        {
            "name": "smsenderlog"
        }
    ]
}

Создание коллекции

POST https://api.mixapp.io/v1/workplaces/:name/storages

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

name

string

Название коллекции, Только латинские буквы

{
    "result": {
        "name": "tests"
    }
}
Example request
{
    "name": "name"
}

Удаление коллекции

DELETE https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name

Path Parameters

NameTypeDescription

storage_name

string

Имя удаляемой коллекции

name

string

Имя workplace

Headers

NameTypeDescription

X-Auth-Token

string

Токен, полученный при авторизации

{ 
    "result": true

Список индексов коллекции

GET https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/indexes

Path Parameters

NameTypeDescription

storage_name

string

Имя коллекции

name

string

Имя workplace

Headers

NameTypeDescription

X-Auth-Token

string

Токен, полученный при авторизации

{
    "result": [
        {
            "Key": [
                "_id"
            ],
            "Unique": false,
            "DropDups": false,
            "Background": false,
            "Sparse": false,
            "ExpireAfter": 0,
            "Name": "_id_",
            "Min": 0,
            "Max": 0,
            "Minf": 0,
            "Maxf": 0,
            "BucketSize": 0,
            "Bits": 0,
            "DefaultLanguage": "",
            "LanguageOverride": "",
            "Weights": null,
            "Collation": null
        }
    ]
}

Создание индекса коллекции

POST https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/indexes

Path Parameters

NameTypeDescription

storage_name

string

Имя коллекции

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

key

array

Массив индексируемых полей

name

string

Название создаваемого индекса

{
    "result": {
        "Key": [
            "-field1",
            "+field2"
        ],
        "Unique": false,
        "DropDups": false,
        "Background": true,
        "Sparse": false,
        "ExpireAfter": 0,
        "Name": "indexname",
        "Min": 0,
        "Max": 0,
        "Minf": 0,
        "Maxf": 0,
        "BucketSize": 0,
        "Bits": 0,
        "DefaultLanguage": "",
        "LanguageOverride": "",
        "Weights": null,
        "Collation": null
    }
}
Example request
{
    "name": "IndexName",
    "key": ["-field1","+field2"]
}

Удаление индекса

DELETE https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/indexes/:index_name

Path Parameters

NameTypeDescription

index_name

string

Название удаляемого индекса

storage_name

string

Имя удаляемой коллекции

name

string

Имя workplace

Headers

NameTypeDescription

X-Auth-Token

string

Токен, полученный при авторизации

{ 
    "result": true
}

Список документов

POST https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/read

Path Parameters

NameTypeDescription

storage_name

string

Название коллекции

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

skip

integer

Параметр, устанавливающий смещение для запрашиваемых документов

sort

object

Объект, описывающий правила сортировки документов

fields

object

Параметр описывающий, какие поля будут содержаться в запрашиваемых документах

limit

integer

Количество запрашиваемых документов

query

object

Объект с условиями выборки документов

{
    "result": []
}
Example request
{
    query: {},
    limit: 10,
    fields: {},
    sort: {},
    skip: 0 
}

Создание документов

POST https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/create

Path Parameters

NameTypeDescription

storage_name

string

Название коллекции

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

docs

array

Массив создаваемых документов

{
    "result": {
        "ids": [
            "5cc6f70d35b3820001c0b818"
        ],
        "op_result": {
            "electionId": "7fffffff000000000000000b",
            "n": 1,
            "ok": 1,
            "opTime": {
                "t": 11,
                "ts": 6685302332084715521
            }
        }
    }
}
Example request
{
    docs: [
        {
            "name": "John Smith"
        }
    ],
}

Обновление документов

POST https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/update

Path Parameters

NameTypeDescription

storage_name

string

Название коллекции

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

query

object

Параметр, описывающий условия выборки документов, которые будут обновлены

doc

object

Объект, описывающий правила обновления документов.

{
    "result": {
        "electionId": "7fffffff000000000000000b",
        "n": 0,
        "nModified": 0,
        "ok": 1,
        "opTime": {
            "t": 11,
            "ts": 6685303345696997377
        }
    }
}
Example request
{
    "query": {
        "name": "John Smith"
    },
    "doc": {
        "$set": {
            "role": "user"
        }
    }
}

Получение количества документов

POST https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/count

Path Parameters

NameTypeDescription

storage_name

string

Название коллекции

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

query

object

Параметр, описывающий условия выборки документов, которые будут обновлены

{
    "result": 1
}
Example request
{
    "query": {
        "name": "John Smith"
    }
}

Удаление документов

POST https://api.mixapp.io/v1/workplaces/:name/storages/:storage_name/delete

Path Parameters

NameTypeDescription

storage_name

string

Название коллекции

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

query

object

Параметр, описывающий условия выборки документов, которые будут удалены

{
    "result": {
        "electionId": "7fffffff000000000000000b",
        "n": 1,
        "ok": 1,
        "opTime": {
            "t": 11,
            "ts": 6685304518223069185
        }
    }
}
Example request
{
    "query": {
        "name": "John Smith"
    }
}

Last updated