2017-08-02 37 views
0

我是mongodb的新手,我需要检索任何坐标值为空或空的文档。 例如坐标[0]或坐标[1]为空。基于第三级嵌套字段检索文档

{ 
"_id": ObjectId("58ef15dcccac183a18cd5c69"), 
"submission_location": { 
    "type": "Point", 
    "coordinates": [73.0574529, 
    33.711476] 
}} 


{ 
"_id": ObjectId("58ef1acaccac183918cd5c6a"), 
"submission_location": { 
    "type": "Point", 
    "coordinates": [] 
}} 

我已经使用了聚合方法,但它没有返回任何结果。

db.tasks_submission.aggregate([ 
    { 
    "$unwind": "$submission_location" 
    }, 
    { 
    "$unwind": "$submission_location.coordinates.0", 
    "$unwind": "$submission_location.coordinates.1" 
    }, 
    { 
    "$match": { 
     $or :[{ 
     "submission_location.coordinates.0": 0 
     }, 
     { 
     "submission_location.coordinates.1": 0 
     }] 

    } 
} 
]).pretty() 
+0

这不是你实际的文档结构,因为它不是真正有效。如果有任何'[0]:73.0574529'实际上存储为“字符串”,如'“[0]:73.0574529”',因为无法以其他方式存储。 –

+0

对不起,关于文档结构,我不知道如何在这里写入正确的json格式。 – Sirajjunior

+0

其实很简单。打开安装附带的mongo shell。找到一份文件,然后将这些内容复制并粘贴到这里的问题中。那样我们现在“确切地”是文档的样子。 –

回答