2017-06-01 2 views
0

mongodbデータベースを使用しています。ステータスがCERTIFIEDのすべてのドキュメントを取得するクエリを適用できません。以下のドキュメントを使用しています。 "状態": "CERTIFIED"mongodbクエリを使用してJsonオブジェクト内に存在する要素を取得する方法

{ 
     "_id" : ObjectId("592fb37d57693963cca325e5"), 
     "json" : { 
      "query_by_gtin_response:queryByGtinResponse" : { 
       "productData" : { 
        "gtin" : "31212121212167", 
        "productDataRecord" : { 
         "module" : [ 
          { 
           "bpi:basicProductInformationModule" : { 
            "xmlns:bpi" : "urn:gs1:tsd:basic_product_information_module:xsd:1", 
            "productName" : { 
             "languageCode" : "en", 
             "value" : "test" 
            }, 
            "brandNameInformation" : { 
             "brandName" : { 
              "value" : "test pub" 
             } 
            } 
           } 
          }, 
          { 
           "product_tracking_information_module" : { 
            "variantId" : { 
             "value" : "31124ff0-4693-11e7-9492-01c27f5bdb71" 
            }, 
            "status" : { 
             "value" : "CERTIFIED" 
            }, 
            "name" : { 
             "value" : "[email protected]" 
            }, 
            "createdBy" : { 
             "value" : "552f5b90b348147e03e49b62" 
            }, 
            "createdDate" : { 
             "value" : "2017-06-01T06:26:05.551Z" 
            }, 
            "updatedBy" : { 
             "value" : "552f5b90b348147e03e49b62" 
            }, 
            "updatedDate" : { 
             "value" : "2017-06-01T06:26:05.551Z" 
            }, 
            "applicationId" : { 
             "value" : "webapp" 
            }, 
            "history" : { 
             "createdDate" : { 
              "value" : "2017-06-01T06:26:05.551Z" 
             }, 
             "updatedDate" : { 
              "value" : "2017-06-01T06:26:05.551Z" 
             }, 
             "status" : { 
              "value" : "CERTIFIED" 
             }, 
             "updatedBy" : { 
              "value" : "552f5b90b348147e03e49b62" 
             }, 
             "createdBy" : { 
              "value" : "552f5b90b348147e03e49b62" 
             }, 
             "applicationId" : { 
              "value" : "webapp" 
             }, 
             "name" : { 
              "value" : "[email protected]" 
             } 
            } 
           } 
          } 
         ] 
        } 
       } 
      } 
     } 
    } 

答えて

0

あなたの$where operatorとしての機能を使用することができます。

collection.find({ $where: function() { 
    var productDataRecord = this.json["query_by_gtin_response:queryByGtinResponse"]["productData"]["productDataRecord"]; 
    var status = productDataRecord["module"][1]["product_tracking_information_module"].status; 
    return (status.value == "CERTIFIED") 
}}) 
+1

感謝!わたしにはできる。 –

関連する問題