Scorocode.Query

Содержание


new Query(collName)

Экземпляр запроса к данным коллекции

Параметр Тип Описание
collName String Название коллекции

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var data = new sc.Query("items");
// Запросим все объекты коллекции
data.find()
    // Обработка успешного выполнения запроса
    .then((finded) =>{
        //Выведем полученные данные в консоль
        console.log(finded);
    })
    // Обработка ошибки 
    .catch((err)=>{
        console.log(err)
    });    

Возвращает: sc.Query - Возвращает экземпляр sc.Query
Исключение:

  • String 'Collection name must be a type of string'

.find(options)

Метод для запроса документов из коллекции. Возвращает данные объектов, которые соответствуют условиям выборки. Если условия не заданы, по-умолчанию возвращает первые 50 объектов коллекции.

Параметр Тип Описание
options Object Коллбэки success и error для выполняемого запроса.

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var data = new sc.Query("items");
// Запросим все объекты коллекции
data.find()
    // Обработка успешного выполнения запроса
    .then((finded) =>{
        var util = require('util');
        //Выведем полученные данные в консоль
        console.log(util.inspect(finded, {showHidden: false, depth: null}))
    })
    // Обработка ошибки 
    .catch((err)=>{
        console.log(err)
    });    

Возвращает: promise.{error: Boolean, limit: Number, skip: Number, result: [{sc.Object}]} - Возвращает promise, который возвращает объект с результатом выполнения запроса.

  • "error" - Boolean - Флаг ошибки
  • "limit" - Number - лимит размера выборки
  • "skip" - Number - количество документов, которое было пропущено при выборке
  • "result" - Array - массив полученных данных
    { 
        error: false,
        limit: 100,
        skip: 0,
        result:
        [ 
           { _id: 'CrT49joIxn',
               createdAt: Wed May 25 2016 17:24:17 GMT+0300 (RTZ 2 (зима)),
               updatedAt: Wed May 25 2016 22:15:03 GMT+0300 (RTZ 2 (зима)),
               readACL: [],
               updateACL: [],
               removeACL: [],
               arrayField: [ false,"",42.42,[1,2,3],["Массив",{"123": 4}],{ "Объект": true }],
               price: 41.999 
           },
           // ...
           { _id: 'NseSaqqd5v',
               createdAt: Wed May 25 2016 17:24:17 GMT+0300 (RTZ 2 (зима)),
               updatedAt: Wed May 25 2016 22:15:03 GMT+0300 (RTZ 2 (зима)),
               readACL: [],
               updateACL: [],
               removeACL: []
           } 
        ]
    }

.findAll(options)

Метод для запроса всех документов коллекции, которые соответствуют условиям выборки.

Параметр Тип Описание
options Object Коллбэки success и error для выполняемого запроса.

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var data = new sc.Query("items");
// Запросим все объекты коллекции
data.findAll()
    // Обработка успешного выполнения запроса
    .then((finded) =>{
        var util = require('util');
        //Выведем полученные данные в консоль
        console.log(util.inspect(finded, {showHidden: false, depth: null}))
    })
    // Обработка ошибки 
    .catch((err)=>{
        console.log(err)
    });    

Возвращает: promise.{[{sc.Object}]} - Возвращает promise, который возвращает массив объектов с данными документов.

    [ 
       { _id: 'CrT49joIxn',
           createdAt: Wed May 25 2016 17:24:17 GMT+0300 (RTZ 2 (зима)),
           updatedAt: Wed May 25 2016 22:15:03 GMT+0300 (RTZ 2 (зима)),
           readACL: [],
           updateACL: [],
           removeACL: [],
           arrayField: [ false,"",42.42,[1,2,3],["Массив",{"123": 4}],{ "Объект": true }],
           price: 41.999 
       },
       // ...
       { _id: 'NseSaqqd5v',
           createdAt: Wed May 25 2016 17:24:17 GMT+0300 (RTZ 2 (зима)),
           updatedAt: Wed May 25 2016 22:15:03 GMT+0300 (RTZ 2 (зима)),
           readACL: [],
           updateACL: [],
           removeACL: []
       } 
    ]

.count(options)

Метод для подсчета количества объектов, которые удовлетворяют условиям запроса.

Параметр Тип Описание
options Object Коллбэки success и error для выполняемого запроса.

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var countItems = new sc.Query("items");
// Подсчитаем количество объектов с существующим значением поля "price".
countItems.exists("price")
    .count()
        // Обработчик успешного выполнения запроса
        .then((counted) => {
            // Выведем результат в консоль.
            console.log(counted) // { error: false, result: 5 }
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Возвращает: promise.{error: Boolean, result: Number} - Возвращает promise, который возвращает объект с результатом выполнения запроса.

  • "error" - Boolean - Флаг ошибки
  • "result" - Number - Количество объектов, подходящих под условие выборки.

.update(Object, options)

Метод для обновления запрошенных объектов.

Параметр Тип Описание
Object sc.UpdateOps Объект sc.UpdateOps в который переданы обновляемые данные.
options Object Коллбэки success и error для выполняемого запроса.

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items и объект обновления.
var Items = new sc.Query("items");
var updateItems = new sc.UpdateOps("items");

// Установим условие выборки - запросить все объекты, значение поля price которых не равно 42.
Items.notEqualTo("price", 42)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Установим новое значение поля "price"
            updateItems.set("price", 42);
            // Обновим запрошенные объекты
            return Items.update(updateItems)
        })
        // Обработчик успешного выполнения запроса
        .then((updated) => {
            // Выведем результат  в консоль.
            console.log(updated);
        }) 
        // Обработчик ошибки
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Возвращает: promise.{error: Boolean, result: {count: Number, docs: Array}} - Возвращает promise, который возвращает объект с результатом выполнения запроса.

  • "error" - Boolean - Флаг ошибки
  • "result" - Object - Результат выполнения запроса
    • "count" - Number - Количество измененных объектов
    • "docs" - Array - Массив _id измененных объектов
{
    error: false,
    result:
        { 
            count: 8,
            docs:[ 
                'CrT49joIxn',
                '8Qcfll2GwE',
                'dMSYsK8jld',
                '6TFVG5UqV6',
                'gNxzwAfvDj',
                'eoVWeg9oeY',
                'vRf58kEDpo',
                'abOkjQAnYE' 
            ] 
    } 
}

.remove(options)

Метод для удаления запрошенных объектов.

Параметр Тип Описание
options Object Коллбэки success и error для выполняемого запроса.

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

Items.exists("arrayField")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((finded) => {
            // Удалим запрошенные объекты
            Items.remove(finded)
                // Обработчик успешного выполнения запроса
                .then((result) => {
                    // Выведем результат в консоль.
                    console.log(result);
                })  
                // Обработчик ошибки
                .catch((error) => {
                    console.log("Что-то пошло не так: \n", error)
                });
        })
        .catch((error) => {
                console.log("Что-то пошло не так: \n", error)
        });

Возвращает: promise.{ecount: Number, docs: Array} - Возвращает promise, который возвращает объект с результатом выполнения запроса.

  • "count" - Number - Количество измененных объектов
  • "docs" - Array - Массив _id измененных объектов.
{ 
    count: 4, 
    docs:[ 
        'CrT49joIxn', 
        'eoVWeg9oeY', 
        'vRf58kEDpo', 
        'abOkjQAnYE'
        ] 
}

.reset()

Метод для сброса условий выборки

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты со значением 42 в полe "price"
getItems.equalTo("price", 42)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            console.log(result)
        })
        // Обработчик ошибки
        .catch((error) => {
            // Сбросим условия выборки
            getItems.reset()
            console.log("Что-то пошло не так: \n", error)
        });

.equalTo(field, value)

Метод для получения всех объектов c указанным в условии значением поля.

Параметр Тип Описание
field String Имя поля, которому задается условие
value String / Number / Boolean / Date / Array / Object Значение поля

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты со значением 42 в полe "price"
getItems.equalTo("price", 42)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            console.log(result) 
            getItems.reset()
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.notEqualTo(field, value)

Метод для получения всех объектов, за исключением объектов с указанным в условии значением поля.

Параметр Тип Описание
field String Имя поля, которому задается условие
value String / Number / Boolean / Date / Array / Object Значение поля

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, значение поля price которых не равно 42.
getItems.notEqualTo("price", 42)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) // { error: false, result: 5 }
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.containedIn(field, value)

Метод для получения всех объектов, значение поля которых содержит указанные в запросе элементы массива.

Параметр Тип Описание
field String Имя поля, которому задается условие
value Array Массив значений

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты со значением -42, 41.999 или 42 в полe "price"
getItems.containedIn("price",[-42, 41.999, 42])
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключения

  • String 'Value must be of Тип: Array'

.containsAll(field, value)

Метод для получения всех объектов, значение поля которых содержит все указанные в запросе элементы массива.

Параметр Тип Описание
field String Имя поля, которому задается условие
value Array Массив значений

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, содержащие числа 4, 8, 15, 16, 23, 42 в полe "arrayField"
getItems.containsAll("arrayField",[4, 8, 15, 16, 23, 42])
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String 'Value must be of Тип: Array'

.notContainedIn(field, value)

Метод для получения всех объектов, значение поля которых не содержит указанные в запросе элементы массива.

Параметр Тип Описание
field String Имя поля, которому задается условие
value Array Массив значений

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, значения поля которых не указано в массиве [41.999 или 42]
getItems.notContainedIn("price",[41.999, 42])
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключения:

  • String 'Value must be of Тип: Array'

.greaterThan(field, value)

Метод для получения всех объектов, значение поля которых больше, чем указанное в запросе число.

Возвращает: Object - Запрошенные данные

Параметр Тип Описание
field String Имя поля, которому задается условие
value Number / Date Значение условия

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, созданные позже 2016-05-19T15:35:16.000Z
getItems.greaterThan("createdAt", "2016-05-19T15:35:16.000Z")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.greaterThanOrEqualTo(field, value)

Метод для получения всех объектов, значение поля которых не меньше, чем указанное в запросе число.

Параметр Тип Описание
field String Имя поля, которому задается условие
value Number / Date Значение условия

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты со значением больше, либо равным 41.999 
getItems.greaterThanOrEqualTo("price", 41.999)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.lessThan(field, value)

Метод для получения всех объектов, значение поля которых меньше, чем указанное в запросе число.

Параметр Тип Описание
field String Имя поля, которому задается условие
value Number / Date Значение условия

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты со значением поля price меньшe 41
getItems.lessThan("price", 41)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.lessThanOrEqualTo(field, value)

Метод для получения всех объектов, значение поля которых не больше, чем указанное в запросе число.

Параметр Тип Описание
field String Имя поля, которому задается условие
value Number / Date Значение условия

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, обновленные не позже 2016-05-19T15:35:16.000Z
getItems.lessThanOrEqualTo("updatedAt", "2016-05-19T15:35:16.000Z")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.exists(field

Метод для получения всех объектов с существующим значением заданного поля

Параметр Тип Описание
field String Имя поля, которому задается условие

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var Items = new sc.Query("items");
// Подсчитаем количество объектов с существующим значением поля "price".
Items.exists("price")
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result)
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.doesNotExist(field)

Метод для получения всех объектов с отсутствующим значением в заданном поле

Параметр Тип Описание
field String Имя поля, которому задается условие

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var Items = new sc.Query("items");
// Подсчитаем количество объектов с отсутствующим значением поля "price".
Items.doesNotExist("price")
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result)
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.contains(field, value)

Метод для получения всех объектов со значением заданного поля, соответствующим заданному регулярному выражению.

Параметр Тип Описание
field String Имя поля, которому задается условие
value String Регулярное выражение

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, значение поля "someString" которых содержит цифры.
getItems.contains("someString","[0-9]")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String '"Value must be a string"'

.startsWith(field, value)

Метод для получения всех объектов со значением заданного поля, начинающимся с указанной строки.

Параметр Тип Описание
field String Имя поля, которому задается условие
value String Значение условия

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, значение поля "name" которых начинается с "Предм"
getItems.startsWith("name", "Предм");
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String "Value must be a string"

.endsWith(field, value)

Метод для получения всех объектов со значением заданного поля, заканчивающимся на указанную строку.

Параметр Тип Описание
field String Идентификатор поля
value String Значение условия

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, значение поля "name" которых заканчивается на "чип"
getItems.endsWith("name", "чип");
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String "Value must be a string"

.limit(limit)

Метод для указания лимита количества объектов выборки

Параметр Тип Описание
limit Number Лимит выборки

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим лимит выборки - не более 1000 объектов.
// Установим условие выборки - запросить все объекты, значение поля "someString" которых содержит цифры и символы латиницы.
getItems.limit(1000).contains("someString","[a-zA-Z-0-9]")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String "Limit must be a positive number"

.skip(skip)

Метод для пропуска части объектов перед совершением выборки

Параметр Тип Описание
skip Number Количество пропускаемых объектов

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим лимит выборки - не более 1000 объектов.
// Пропустим первые 1000 объектов и получим вторую тысячу.
// Установим условие выборки - запросить все объекты, значение поля "someString" которых содержит цифры и символы латиницы.
getItems.limit(1000).skip(1000).contains("someString","[a-zA-Z-0-9]")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение

  • String "Skip must be a positive number"

.page(page)

Метод для постраничного вывода результатов выборки

Параметр Тип Описание
page Number Номер страницы

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим лимит выборки - не более 30 объектов.
// Запросим вторую страницу выборки
// Установим условие выборки - запросить все объекты, значение поля "someString" которых содержит цифры и символы латиницы.
getItems.limit(30).page(2).contains("someString","[a-zA-Z-0-9]")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String "Page must be a positive number"

.ascending(field)

Метод для сортировки данных указанного поля в порядке возрастания перед совершением выборки.

Параметр Тип Описание
field String Идентификатор поля

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим лимит выборки - не более 30 объектов.
// Отсортируем объекты в порядке возрастания даты изменения
// Запросим первую страницу выборки
// Установим условие выборки - запросить все объекты, значение поля "someString" которых содержит цифры и символы латиницы.
getItems.limit(30).ascending("updatedAt").page(1).contains("someString","[a-zA-Z-0-9]")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.descending(field)

Метод для сортировки данных указанного поля в порядке убывания перед совершением выборки.

Возвращает: Object - Запрошенные данные

Параметр Тип Описание
field String Идентификатор поля

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
// Установим лимит выборки - не более 30 объектов.
// Отсортируем объекты в порядке убывания значения поля "price"
// Запросим первую страницу выборки
// Установим условие выборки - запросить все объекты, значение поля "someString" которых содержит цифры и символы латиницы.
getItems.limit(30).descending("price").page(1).contains("someString","[a-zA-Z-0-9]")
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.or(query)

Метод для логического сложения условий нескольких выборок

Параметр Тип Описание
query sc.Query Запрос, который включается в дизъюнкцию

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
var range1 = new sc.Query("items");
var range2 = new sc.Query("items");

var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, созданные не позже 2016-05-18T10:00:00.000Z
range1.lessThanOrEqualTo("createdAt", "2016-05-19T10:00:00.000Z");
// Установим условие выборки - запросить все объекты, созданные не раньше 2016-05-20T10:00:00.000Z
range2.greaterThanOrEqualTo("createdAt", "2016-05-21T15:00:00.000Z");
// Логически сложим запросы 
getItems.or(range1).or(range2)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

Исключение:

  • String "Invalid Тип of Query"

.and(query)

Метод для логического умножения условий нескольких выборок

Параметр Тип Описание
query sc.Query Запрос, который включается в конъюнкцию

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var getItems = new sc.Query("items");
var range = new sc.Query("items");
var price = new sc.Query("items");

var getItems = new sc.Query("items");
// Установим условие выборки - запросить все объекты, созданные не раньше 2016-05-18T10:00:00.000Z
range.greaterThanOrEqualTo("createdAt", "2016-05-19T10:00:00.000Z");
// Установим условие выборки - запросить все объекты, значение поля "price" которых отсутствует
price.doesNotExists("price");
// Логически умножим запросы 
getItems.and(range).and(price)
    // Выполним запрос к данным коллекции
    .find()
        // Обработчик успешного выполнения запроса
        .then((result) => {
            // Выведем результат в консоль.
            console.log(result) 
        })
        .catch((error) => {
            console.log("Что-то пошло не так: \n", error)
        });

.select()

Метод для указания списка возвращаемых полей.

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});

// Создадим новый экземпляр запроса к коллекции items.
var data = new sc.Query("items");
// Запросим все объекты коллекции и получим значение их поля "price" и "reward".
data.select("price", "reward").find()
    // Обработка успешного выполнения запроса
    .then((finded) =>{
        //Выведем полученные данные в консоль. 
        console.log(finded);
    })
    // Обработка ошибки 
    .catch((err)=>{
        console.log(err)
    });    

.raw(filter)

Прямой запрос к БД приложения

Параметр Тип Описание
filter Object Применяемый фильтр в формате языка запросов MongoDB

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения"
});


var query = new sc.Query("items");
query.raw({"_id": {"$eq": "cL0meP4TFc"}});
query.find()
    .then((finded) =>{
        //Выведем полученные данные в консоль. 
        console.log(finded);
    })
    // Обработка ошибки 
    .catch((err)=>{
        console.log(err)
    });