Scorocode.Query
Содержание
- .Query
- new Query(collName) ⇒
sc.Object
- .find(options) ⇒
promise.{error: Boolean, limit: Number, skip: Number, result: [{sc.Object}]}
- .findAll(options) ⇒
promise.{[{sc.Object}]}
- .count(options) ⇒
promise.{error: Boolean, result: Number}
- .update(Object, options) ⇒
promise.{error: Boolean, result: {count: Number, docs: Array}}
- .remove(options) ⇒
promise.{count: Number, docs: Array}
- .reset()
- .equalTo(field, value)
- .notEqualTo(field, value)
- .containedIn(field, value)
- .containsAll(field, value)
- .notContainedIn(field, value)
- .greaterThan(field, value)
- .greaterThanOrEqualTo(field, value)
- .lessThan(field, value)
- .lessThanOrEqualTo(field, value)
- .exists(field)
- .doesNotExist(field)
- .contains(field, value)
- .startsWith(field, value)
- .endsWith(field, value)
- .limit(limit)
- .skip(skip)
- .page(page)
- .ascending(field)
- .descending(field)
- .or(query)
- .and(query)
- .select()
- .raw(filter)
- new Query(collName) ⇒
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 измененных объектов
- "count" -
{
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)
});