MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

създаване на група и анализиране на данни от списък с масиви в birt

Моля, следвайте стъпките по-долу, за да получите желания отговор.

Данни:

db.devicestatus.insert([
  {
    "_id": "0001",
    "className":"store",
    "deviceStatus": [ {
    "deviceName": "CardReader",
    "errorCode": "97080301",
    "status": "Bad"
  },
  {
    "deviceName": "CashAcceptor",
    "errorCode": "97080302,97080303",
    "status": "Bad"
  },
  {
    "deviceName": "CashDispenser",
    "errorCode": "",
    "status": "Good"
  }]
  }
])

1.Data Explorer - Отидете на Набори от данни - Нов набор от данни - Изберете източник на данни - Въведете име на набор от данни - Щракнете върху Напред

2. Въведете име на колекцията - devicestatus - Изброява всички полета - Изберете опцията Aggregate от падащото меню тип команда - Щракнете върху Expression

3. Добавете израза по-долу в подканата за съставител на изрази - щракнете върху OK

Изразът по-долу $unwind за изравняване на масива, за да се разложи масивът на devicesstatus в документи, последвани от $project за да запазите задължителните полета.

[
  {"$unwind":"$deviceStatus"},
  {"$project":{
    "_id":0,
    "className":1,
   "deviceStatus.deviceName":1,
   "deviceStatus.errorCode":1
   }
  }
]

ИЛИ

Изразът по-долу итерира масива devicesstatus и $map и $project задължителните полета, последвани от $unwind за изравняване, за да разложите масива на документи.

[{
  "$project":{
    "_id":0,
    "className":1, 
    "deviceStatus":{
      "$map":{
        "input":"$deviceStatus",
        "as":"result",
        "in":{
          "deviceName":"$$result.deviceName",
          "errorCode":"$$result.errorCode"
        }
      }
    }
   }
 },
 {"$unwind":"$deviceStatus"}
]

ИЛИ

4.Потвърдете за опресняване - щракнете върху да

5. Преместете всички налични полета в избраното падащо поле за множествен избор - щракнете върху Готово

6. Преглед на резултатите

{"className":"store", "deviceStatus":{"deviceName":"CardReader","errorCode":"97080301"}}
{"className":"store", "deviceStatus":{ "deviceName":"CashAcceptor","errorCode":"97080302,97080303"}}
{"className":"store","deviceStatus":{"deviceName":"CashDispenser","errorCode":""}}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Групирайте и пребройте с условие

  2. не мога да стартирам mongo db, initandlisten изключение

  3. не може да се свърже с mongodb, хостван на отдалечен сървър, използвайки monk

  4. Полета за сбор на Mongoose от попълнени документи

  5. Трансформирайте клавиатурната карта във вектор с помощта на MongoDB рамка