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.データエクスプローラー-データセットに移動-新しいデータセット-データソースを選択-データセット名を入力-[次へ]をクリック

    2.コレクション名を入力します-devicestatus-すべてのフィールドを一覧表示します-コマンドタイプのドロップダウンから[集計]オプションを選択します-[式]をクリックします

    3.式ビルダープロンプトに以下の式を追加します-[OK]をクリックします

    以下の式 $ unwind 配列をフラット化して、devicestatus配列をドキュメントに分解し、その後に $プロジェクト 必須フィールドを保持します。

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

    または

    以下の式は、devicestatus配列と $ 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. Mongodbで検索して置き換えますか?

    2. nodeJSを使用してJSONオブジェクトからアイテムを削除するにはどうすればよいですか?

    3. MongoSecurityExceptionをキャッチするにはどうすればよいですか?

    4. Mongodbは集約フレームワークについて説明します