2017-06-01 29 views
0

我正在使用mongodb數據庫,我無法應用查詢來獲取具有狀態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

謝謝!這個對我有用。 –

相關問題