2017-08-02 6 views
0

私はmongodbを初めて使用しています。座標値のいずれかがnullまたは空のドキュメントを取得する必要があります。 たとえば、座標[0]または座標[1]がnullの場合第3レベルのネストされたフィールドに基づいてドキュメントを取得します。

{ 
"_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シェルを開きます。ドキュメントを見つけて、内容をコピーしてここの質問に貼り付けます。そうすれば、ドキュメントがどのように見えるのかが「正確に」わかります。 –

答えて

関連する問題