Данные
Создание нового документа в коллекции.
https://api.scorocode.ru/api/v1/data/insert
Метод: POST
Заголовки:
Content-Type: application/json
{
"app" : "", // идентификатор приложения, обязательный
"cli" : "", // клиентский ключ, обязательный
"acc" : "", // ключ доступа, необязательный, для полного доступа masterKey
"sess" : "", // ID сессии, обязательный, если ACLPublic приложения на операцию == false и acc != masterKey
"coll" : "", // имя коллекции, обязательный
"doc" : {} // документ с парами имя_поля:значение, необязательный
}
Пример cURL
curl -X POST -H "Content-Type: application/json" -d '{
"app": "db8a1b41b8543397a798a181d9891b4c",
"cli": "ad6a8fe72ef7dfb9c46958aacb15196a",
"acc": "",
"sess": "rYgRe6xL2y8VccMJ",
"coll": "items",
"doc": {
"exampleField": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 20. С днём рождения, Мюриэл!",
"anotherExampleField": "Не знаю, что и сказать. Когда-то я хотел быть астрофизиком. К сожалению, это правда."
}
}' "https://api.scorocode.ru/api/v1/data/insert"
Ответы:
Выполнено
{
"error" : false,
"result" : {} // созданный документ
}
Ошибка
{
"error" : true,
"errCode" : 4XX/5XX, // Код ошибки
"errMsg" : "Текст ошибки"
}
Удаление документа из коллекции.
https://api.scorocode.ru/api/v1/data/remove
Метод: POST
Заголовки:
Content-Type: application/json
{
"app" : "", // идентификатор приложения, обязательный
"cli" : "", // клиентский ключ, обязательный
"acc" : "", // ключ доступа, необязательный, для полного доступа masterKey
"sess" : "", // ID сессии, обязательный, если ACLPublic приложения на операцию == false и acc != masterKey
"coll" : "", // имя коллекции, обязательный
"query" : {}, // запрос с парами имя_поля/оператор:значение, необязательный
"limit" : int // лимит количества удаляемых документов, необязательный, если не указан, то удалятся первые 1000 документов
}
Ограничения
Удаляет не более 1000 документов
Пример cURL
curl -X POST -H "Content-Type: application/json" -d '{
"app": "db8a1b41b8543397a798a181d9891b4c",
"cli": "ad6a8fe72ef7dfb9c46958aacb15196a",
"acc": "",
"sess": "rYgRe6xL2y8VccMJ",
"coll": "items",
"query": {
"exampleField": {
"$eq": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 20. С днём рождения, Мюриэл!"
}
}
}' "https://api.scorocode.ru/api/v1/data/remove"
Выполнено
{
"error" : false,
"result" : {
"count" : int, // количество удаленных документов
"docs" : [] // массив ID удаленных документов
}
}
Ошибка
{
"error" : true,
"errCode" : 4XX/5XX, // Код ошибки
"errMsg" : "Текст ошибки"
}
Изменение документов в коллекции.
https://api.scorocode.ru/api/v1/data/update
Метод: POST
Заголовки: Content-Type: application/json
{
"app" : "", // идентификатор приложения, обязательный
"cli" : "", // клиентский ключ, обязательный
"acc" : "", // ключ доступа, необязательный, для полного доступа masterKey
"sess" : "", // ID сессии, обязательный, если ACLPublic приложения на операцию == false и acc != masterKey
"coll" : "", // имя коллекции, обязательный
"query" : {}, // запрос с парами имя_поля/оператор:значение, необязательный
"doc" : {}, // документ с парами оператор:значение, обязательный
"limit" : int // лимит количества обновляемых документов, необязательный, если не указан, то обновятся первые 1000 документов
}
Ограничения
Изменяет не более 1000 документов
Пример cURL
curl -X POST -H "Content-Type: application/json" -d '{
"app": "db8a1b41b8543397a798a181d9891b4c",
"cli": "ad6a8fe72ef7dfb9c46958aacb15196a",
"acc": "",
"sess": "rYgRe6xL2y8VccMJ",
"coll": "items",
"query": {
"exampleField": {
"$eq": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 20. С днём рождения, Мюриэл!"
}
},
"doc": {
"$set": {
"exampleField": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 21. С днём рождения, Мюриэл!"
}
},
"limit": 1
}' "https://api.scorocode.ru/api/v1/data/update"
Ответы:
Выполнено
{
"error" : false,
"result" : {
"count" : int, // количество измененных документов
"docs" : [] // массив ID измененных документов
}
}
Ошибка
{
"error" : true,
"errCode" : 4XX/5XX, // Код ошибки
"errMsg" : "Текст ошибки"
}
Изменение одного документа в коллекции по идентификатору.
https://api.scorocode.ru/api/v1/data/updatebyid
Метод: POST
Заголовки: Content-Type: application/json
{
"app" : "", // идентификатор приложения, обязательный
"cli" : "", // клиентский ключ, обязательный
"acc" : "", // ключ доступа, необязательный, для полного доступа masterKey
"sess" : "", // ID сессии, обязательный, если ACLPublic приложения на операцию == false и acc != masterKey
"coll" : "", // имя коллекции, обязательный
"query" : {}, // запрос в формате "_id" : "<идентификатор документа>", обязательный
"doc" : {}, // документ с парами оператор:значение, обязательный
}
Пример cURL
curl -X POST -H "Content-Type: application/json" -d '{
"app": "db8a1b41b8543397a798a181d9891b4c",
"cli": "ad6a8fe72ef7dfb9c46958aacb15196a",
"acc": "",
"sess": "rYgRe6xL2y8VccMJ",
"coll": "items",
"query": {
"_id" : "jQ4ZwEbBUj"
},
"doc": {
"$set": {
"exampleField": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 21. С днём рождения, Мюриэл!"
}
}
}' "https://api.scorocode.ru/api/v1/data/updatebyid"
Ответы:
Выполнено
{
"error" : false,
"result" : {} // обновленный документ
}
Ошибка
{
"error" : true,
"errCode" : 4XX/5XX, // Код ошибки
"errMsg" : "Текст ошибки"
}
Запрос документов из коллекции.
https://api.scorocode.ru/api/v1/data/find
Метод: POST
Заголовки: Content-Type: application/json
{
"app" : "", // идентификатор приложения, обязательный
"cli" : "", // клиентский ключ, обязательный
"acc" : "", // ключ доступа, необязательный, для полного доступа masterKey
"sess" : "", // ID сессии, обязательный, если ACLPublic приложения на операцию == false и acc != masterKey
"coll" : "", // имя коллекции, обязательный
"query" : {}, // запрос с парами имя_поля/оператор:значение, необязательный, если пустой, то будут возвращены первые 100 документов
"sort" : {}, // сортировка по полям в формате имя_поля:1/-1, необязательный
"fields" : [], // список имен полей, которые будут возвращены в каждом документе, необязательный
"limit" : int,// лимит размера выборки, необязательный, по умолчанию 50
"skip" : int,// количество документов, которое нужно пропустить в выборке
"pool" : {}, // дополнительные параметры выборки, которые будут доступны в триггере 'before find' в объекте pool.extPool
}
Ограничения
Возвращает не более 100 документов
BSON
Для повышения производительности сервиса результат выборки метода find возвращается в формате bson. Все SDK самостоятельно реализуют декодирование bson в json.
Пример cURL
curl -X POST -H "Content-Type: application/json" -d '{
"app": "db8a1b41b8543397a798a181d9891b4c",
"cli": "ad6a8fe72ef7dfb9c46958aacb15196a",
"acc": "",
"sess": "rYgRe6xL2y8VccMJ",
"coll": "items",
"query": {
"exampleField": {
"$eq": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 20. С днём рождения, Мюриэл!"
}
},
"sort": {
"updatedAt": 1
},
"fields": ["updatedAt", "exampleField", "anotherExampleField"],
"limit": 10,
"skip": 20,
"pool": {"name":"test"}
}' "https://api.scorocode.ru/api/v1/data/find"
Ответы:
Выполнено
{
"error" : false,
"result" : string // bson результат запроса, закодированный в base64
}
Ошибка
{
"error" : true,
"errCode" : 4XX/5XX, // Код ошибки
"errMsg" : "Текст ошибки"
}
Запрос количества документов из коллекции.
https://api.scorocode.ru/api/v1/data/count
Метод: POST
Заголовки: Content-Type: application/json
{
"app" : "", // идентификатор приложения, обязательный
"cli" : "", // клиентский ключ, обязательный
"acc" : "", // ключ доступа, необязательный, для полного доступа masterKey
"sess" : "", // ID сессии, обязательный, если ACLPublic приложения на операцию == false и acc != masterKey
"coll" : "", // имя коллекции, обязательный
"query" : {}, // запрос с парами имя_поля/оператор:значение, необязательный
}
Пример cURL
curl -X POST -H "Content-Type: application/json" -d '{
"app": "db8a1b41b8543397a798a181d9891b4c",
"cli": "ad6a8fe72ef7dfb9c46958aacb15196a",
"acc": "",
"sess": "rYgRe6xL2y8VccMJ",
"coll": "items",
"query": {
"exampleField": {
"$eq": "Сегодня 18 июня, и это день рождения Мюриэл! Мюриэл сейчас 20. С днём рождения, Мюриэл!"
}
}
}' "https://api.scorocode.ru/api/v1/data/count"
Ответы:
Выполнено
{
"error" : false,
"result" : int // количество документов
}
Ошибка
{
"error" : true,
"errCode" : 4XX/5XX, // Код ошибки
"errMsg" : "Текст ошибки"
}