title: Find which field's size is greater than 20000 in a collection (mongodb)
body: <p>I have this document in my collection and I need to find which field has value greater than 20000 for all documents like this. Some of fields are changing dynamically for the collection.</p>
  
  <pre><code>db.doors.find(
    {
      "doorseller": "e0asda9a0fqqf7-f0asdas66-48c4-bfe5-ssss", 
      "good.Derinlik.value" : {$exists:true}, 
       $where: "this.good.Derinlik.value.length &gt; 20000" 
    }
  )
  </code></pre>
  
  <p>This works but I also need to check other fields; however I don't want to manually write a query for each of them. Is there any method for this?
  for example I want to check for </p>
  
  <pre><code>-runningStatus
  -good.renkodu.value
  </code></pre>
  
  <p>And this documents are changing, their names for every document.</p>
  
  <p>This is the sample document</p>
  
  <pre><code>  { 
          "doorseller" : "e0asda9a0fqqf7-f0asdas66-48c4-bfe5-ssss", 
          "_class" : "net.bowl.google.microservice.product.domain.Product", 
          "status" : "MATCHED", 
          "runningStatus" : "running_CREATED", 
          "hasValidImage" : true, 
          "doorID" : "3052007", 
          "door" : "4ef7a893-4158-4b4b-ba60-26cb9f75b988", 
          "good" : {
              "Ekipman ID" : {
                  "value" : "", 
                  "detail" : {
                      "revisedBy" : "door", 
                      "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                  }, 
                  "history" : [
                      {
                          "value" : "", 
                          "revisedBy" : "door", 
                          "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                      }
                  ]
              }, 
              "Renk Kodu" : {
                  "value" : "", 
                  "detail" : {
                      "revisedBy" : "door", 
                      "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                  }, 
                  "history" : [
                      {
                          "value" : "", 
                          "revisedBy" : "door", 
                          "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                      }
                  ]
              }, 
              "Malzeme" : {
                  "value" : "", 
                  "detail" : {
                      "revisedBy" : "door", 
                      "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                  }, 
                  "history" : [
                      {
                          "value" : "", 
                          "revisedBy" : "door", 
                          "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                      }
                  ]
              }, 
              "doorID" : {
                  "value" : "3052007", 
                  "detail" : {
                      "revisedBy" : "admin", 
                      "revisionDate" : ISODate("2017-02-10T07:15:05.405+0000")
                  }, 
                  "history" : [
                      {
                          "value" : "3052007", 
                          "revisedBy" : "door", 
                          "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                      }, 
                      {
                          "value" : "3052007", 
                          "revisedBy" : "admin", 
                          "revisionDate" : ISODate("2017-02-10T07:15:05.405+0000")
                      }
                  ]
              }, 
              "Garanti Notu" : {
                  "value" : "", 
                  "detail" : {
                      "revisedBy" : "door", 
                      "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                  }, 
                  "history" : [
                      {
                          "value" : "", 
                          "revisedBy" : "door", 
                          "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                      }
                  ]
              }, 
              "Derinlik" : {
                  "value" : "", 
                  "detail" : {
                      "revisedBy" : "door", 
                      "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                  }, 
                  "history" : [
                      {
                          "value" : "", 
                          "revisedBy" : "door", 
                          "revisionDate" : ISODate("2017-02-07T10:13:34.615+0000")
                      }
                  ]
              }
              }}
  </code></pre>