MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

tạo nhóm và phân tích dữ liệu từ danh sách mảng trong birt

Vui lòng làm theo các bước dưới đây để nhận được phản hồi mong muốn.

Dữ liệu:

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 - Đi tới Tập dữ liệu - Tập dữ liệu mới - Chọn Nguồn dữ liệu - Nhập tên tập dữ liệu - Nhấp vào Tiếp theo

2.Tên tập hợp đầu vào - devicestatus - Liệt kê tất cả các trường - Chọn tùy chọn Tổng hợp từ trình đơn thả xuống loại lệnh - Nhấp vào Biểu thức

3.Thêm biểu thức bên dưới vào lời nhắc của trình tạo biểu thức - Nhấp vào OK

Biểu thức dưới đây $unwind để làm phẳng mảng để phân tách mảng devicestatus thành các tài liệu theo sau là $project để giữ các trường bắt buộc.

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

HOẶC

Biểu thức dưới đây lặp qua mảng devicestatus và $map $project các trường bắt buộc theo sau là $unwind để làm phẳng để phân rã mảng thành tài liệu.

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

HOẶC

4. Xác nhận để làm mới - Nhấp vào có

5. Di chuyển tất cả các trường có sẵn vào hộp thả nhiều lựa chọn đã chọn - Nhấp vào Hoàn tất

6.Xem trước kết quả

{"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. Cách thực hiện Tìm kiếm Toàn văn trong MongoDB

  2. Truy vấn MongoDB chậm:bạn có thể giải thích tại sao không?

  3. Làm thế nào để sử dụng Elasticsearch với MongoDB?

  4. MongoDB - Cập nhật một đối tượng trong Mảng lồng nhau

  5. $ elemMatch tương đương trong mongodb dữ liệu mùa xuân