2017-01-23 71 views
0

我非常喜歡NoSQL的初學者。有人可以幫助我查詢所有在我的集合中的「Point」geojson類型的文檔嗎?MongoDB:查詢對象和數組的層數

下面是一個例子文件:

{ 
    "_id" : ObjectId("5886276637ccefbcc5c84db2"), 
    "docId" : "10bc70fb2d709f7f51b6a2cae363c8f46786fb113bc6165fb0d45e24086197fd", 
    "entities" : [ 
     { 
      "geoJson" : { 
       "type" : "Point", 
       "coordinates" : [ 
        "16.44184", 
        "100.34879" 
       ] 
      }, 
      "isNormalised" : false, 
      "confidence" : 1.0, 
      "externalId" : "1ee5f6e691a43e0f34b65f9c95b4443dc9809c496d9c825f251c9883e4bf5e28", 
      "end" : 2746, 
      "subType" : null, 
      "type" : "Location", 
      "begin" : 2740, 
      "value" : "Pichit" 
     } 
    ] 
} 

和在Robomongo視覺:

Robomongo screenshot of document

我迷路因爲該陣列的對象(實體)(0),其具有對象(geoJson)有元素(類型)。我已閱讀以下內容,雖然他們對他們的答案對我有意義,但似乎無法解決我對我的例子的困惑。

Mongo db - Querying nested array and objects

Querying an array of arrays in MongoDB

我需要什麼樣的查詢,你可以闡述每個級別的解釋?

只要是明確的實體陣列可以有任意數量的對象,這樣的查詢需要檢查陣列中的所有對象,不只是「0」作爲我n此下面的示例圖像:

Example with multiple objects in the array

回答

1

查詢將如此簡單:

db.collection.find({"entities.geoJson.type": "Point"}); 
+0

謝謝,這個工作完美。我認爲我已經過分複雜化了......我很快會將答案標記爲答案。我必須等9分鐘。 – DMusketeer