Получить пакет документов
Получает очередной пакет документов курсора
- Параметры
- Расширенный вызов ?
Функция ПолучитьПакетДокументов(Знач Соединение, Знач Коллекция, Знач IDКурсора, Знач База = Неопределено, Знач РазмерПакета = Неопределено, Знач Ожидание = Неопределено) Экспорт
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|---|---|---|---|---|
| Соединение | - | Строка, Произвольный | ✔ | Соединение или строка подключения |
| Коллекция | - | Строка | ✔ | Имя коллекции |
| IDКурсора | - | Число | ✔ | ID курсора |
| База | - | Строка | ✖ | Имя базы. Текущая база, если не указано |
| РазмерПакета | - | Число | ✖ | Число записей в пакете |
| Ожидание | - | Число | ✖ | Максимальное время блокировки при awaitData (в мс.) |
Возвращаемое значение
Соответствие Из КлючИЗначение - Результат выполнения операции
| Параметр | Описание |
|---|---|
| addin_mode | Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно |
Предупреждение
NOCLI: данный метод недоступен для использования в CLI версии
Пример использования для 1С:Предприятие/OneScript
Адрес = "127.0.0.1:1234";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "main";
ПараметрыПодключения = Новый Структура("authSource", "admin");
СтрокаПодключения = OPI_MongoDB.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, ПараметрыПодключения);
Соединение = OPI_MongoDB.ОткрытьСоединение(СтрокаПодключения);
Коллекция = "new_collection";
Фильтр = Новый Структура("stringField", "Текст");
Сортировка = Новый Структура("doubleField", -1);
Параметры = Новый Структура("limit,batchSize", 2, 1);
Курсор = OPI_MongoDB.ПолучитьКурсор(Соединение, Коллекция, База, Фильтр, Сортировка, Параметры);
Если Не Курсор["result"] Тогда
ВызватьИсключение Курсор["error"];
КонецЕсли;
Курсор = Курсор["data"]["cursor"];
МассивДокументов = Курсор["firstBatch"];
IDКурсора = Курсор["id"];
ПродолжатьВыборку = IDКурсора > 0;
Пока ПродолжатьВыборку Цикл
Результат = OPI_MongoDB.ПолучитьПакетДокументов(Соединение, Коллекция, IDКурсора, База); // <---
Если Не Результат["result"] Тогда
ВызватьИсключение Результат["error"];
КонецЕсли;
ПродолжатьВыборку = Результат["data"]["cursor"]["id"] > 0;
Для Каждого Запись Из Результат["data"]["cursor"]["nextBatch"] Цикл
МассивДокументов.Добавить(Запись);
КонецЦикла;
КонецЦикла;
Результат
{
"result": true,
"data": {
"cursor": {
"nextBatch": [
{
"_id": "6a15da576edd1cf4d2a50d9f",
"stringField": "Текст",
"intField": 200,
"doubleField": 123.456,
"boolField": true,
"arrayField": [
"Значение1",
"Значение2"
],
"docField": {
"text": "Текст",
"number": 10
},
"dateField": "2026-05-26T17:37:27Z",
"nullField": null
}
],
"id": 0,
"ns": "main.new_collection"
},
"ok": 1
}
}