mongoDB, доступ к вложенным объектам

Обсуждение Stimulsoft Reports.Web
Ответить
ilia
Сообщения: 6
Зарегистрирован: 06 окт 2020, 11:59

mongoDB, доступ к вложенным объектам

Сообщение ilia » 06 окт 2020, 12:05

Добрый день!

Подключили в качестве источника данных mongoDB, получаем коллекцию объектов, однако при этом вложенные объекты получаю в виде String строки.
Пример JSON, который мы получаем:

Код: Выделить всё

{
   "_id":"98946360-d7de-4143-af6a-6297d7026171",
   "test":[
      {
         "_id":"ef2ff357-76e6-4759-a971-d25baa0895de",
         "num":1
      },
      {
         "_id":"fa0c30e3-fc87-4766-906a-b828f35dd3ee",
         "num":2
      },
      {
         "_id":"f41feb79-f15d-4790-a05a-44e8e60d2ede",
         "num":3
      }
   ],
   "created":{
      "$date":"2020-10-06T10:19:46.712Z"
   },
}
Скажите, пожалуйста, каким образом мы можем вывести в DataBand значения коллекции "test" отдельными строками?
Aleksey
Сообщения: 2289
Зарегистрирован: 22 апр 2010, 02:57

Re: mongoDB, доступ к вложенным объектам

Сообщение Aleksey » 08 окт 2020, 07:40

Здравствуйте,

Все вложенные объекты парсятся как плоские таблицы и добавляются связи.
В данном случае, вам необходимо строить мастер-детаил отчет со связью.

Спасибо.
Вложения
Screenshot 2020-10-08 093834.jpg
Screenshot 2020-10-08 093834.jpg (229.64 КБ) 682 просмотра
ilia
Сообщения: 6
Зарегистрирован: 06 окт 2020, 11:59

Re: mongoDB, доступ к вложенным объектам

Сообщение ilia » 08 окт 2020, 10:28

Добрый день!

Большое спасибо за Ваш ответ.
С JSON в виде файла это действительно работает, однако при получении данных из MongoDB у нас нет возможности работать с дочерними элементами как с отдельными источниками данных - дочерние элементы воспринимаются как отдельные колонки, и соответственно, вся коллекция помещается в одно поле.
Aleksey
Сообщения: 2289
Зарегистрирован: 22 апр 2010, 02:57

Re: mongoDB, доступ к вложенным объектам

Сообщение Aleksey » 09 окт 2020, 07:49

Здравствуйте,

В данном случае, если только попробовать сформировать отдельные источники для главного и вложенных объектов.

Спасибо.
ilia
Сообщения: 6
Зарегистрирован: 06 окт 2020, 11:59

Re: mongoDB, доступ к вложенным объектам

Сообщение ilia » 09 окт 2020, 08:26

Добрый день, Алексей!

Скажите, пожалуйста, а как это можно сделать? При выборе источника данных мы можем указать только коллекцию целиком.
Может быть есть возможность получить только вложенные объекты используя запрос или JS?

В настоящий момент мы пишем туда только условия, например "{$where: "this._id = '98946360-d7de-4143-af6a-6297d7026171'"}".
Aleksey
Сообщения: 2289
Зарегистрирован: 22 апр 2010, 02:57

Re: mongoDB, доступ к вложенным объектам

Сообщение Aleksey » 14 окт 2020, 13:16

Здравствуйте,

Уточните версию.
В последних версиях добавлялась возможность указывать запрос для источника MongoDB.

Спасибо.
ilia
Сообщения: 6
Зарегистрирован: 06 окт 2020, 11:59

Re: mongoDB, доступ к вложенным объектам

Сообщение ilia » 16 окт 2020, 08:01

Добрый день, Алексей!

Версия дизайнера 2020.4.2. При выборе источника данных можно выбирать только коллекцию:
Изображение

Затем можно редактировать условия:
Изображение
HighAley
Сообщения: 1988
Зарегистрирован: 08 июн 2011, 07:36

Re: mongoDB, доступ к вложенным объектам

Сообщение HighAley » 20 окт 2020, 10:24

Здравствуйте,

Это весь функционал, который доступен на данный момент.

Спасибо.
Ответить