Как я могу получить данные из поля объекта mongoDB и добавить группу на основе этого поля? - PullRequest
0 голосов
/ 22 мая 2019

Данные в MongoDB

SQL SELECT join_date, employee
 FROM "db".organization;

результат:

[
 {
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001122, 'name': 'XYZ', 'designation': 1}
 },{ 
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001123, 'name': 'ABC', 'designation': 1}
 },{ 
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001124, 'name': 'QWE', 'designation': 2}
 },{ 
  'join_date': '2015-05-05', 
  'employee': { 'id': 1001130, 'name': 'AVC', 'designation': 2}
 },{ 
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001126, 'name': 'ASD', 'designation': 4}
 },{
  'join_date': '2015-05-05', 
  'employee': { 'id': 1001122, 'name': 'XYZ', 'designation': 1}
 },{ 
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001135, 'name': 'ABC', 'designation': 2}
 },{ 
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001137, 'name': 'QWE', 'designation': 2}
 },{ 
  'join_date': '2015-05-08', 
  'employee': { 'id': 1001130, 'name': 'AVC', 'designation': 1}
 },{ 
  'join_date': '2015-05-02', 
  'employee': { 'id': 1001128, 'name': 'DSA', 'designation': 4}
 }
]

Я хочу получить данные, используя группу, используя join_date и обозначение в QlikView

Я хочу запросить что-то подобное, чтобы получить ответ ниже

SQL SELECT count(*) as count, designation, join_date as joinDate
 FROM "db".organization group by designation, join_date;

Приведенный выше запрос не работает, поскольку deisgnation находится внутри поля сотрудника. Какой будет правильный запрос?

Я хочу JSON, как показано ниже

[
 {
  'join_date': '2015-05-02', 
  'designation': 1,
  'count': 2
 },{ 
  'join_date': '2015-05-02', 
  'designation': 2,
  'count': 3
 },{ 
  'join_date': '2015-05-05', 
  'designation': 2,
  'count': 1
 },{ 
  'join_date': '2015-05-05', 
  'designation': 1,
  'count': 1
 },{ 
  'join_date': '2015-05-02', 
  'designation': 4,
  'count': 2
 },{ 
  'join_date': '2015-05-08', 
  'designation': 1,
  'count': 1
 }]
...