2016-07-19 9 views
0

MongoDBに次の構造を持っていて、特定のタグを含むドキュメントを削除しようとしています。私は$pullの仕事を得ることができないようです。MongoDB、配列内のネストされたドキュメントを削除する

この例では、タグを持つネストされたドキュメントを取得したいと考えています:["BB"] 助けていただければ幸いです!

{ 
    "_id": 123, 
    "socialItems": { 
     "facebook": [{ 
      "name": "firstFacebook", 
      "id": 2 
     }, { 
      "name": "secondFB", 
      "id": 43 
     }], 
     "instagram": [{ 
      "name": "firstNstagram", 
      "id": 4 
     }], 
     "pc": [{ 
      "name": "firstPC", 
      "id": 55, 
      "tags": [ 
       "ab" 
      ] 
     }, { 
      "name": "secondPC", 
      "id": 66, 
      "tags": [ 
       "BB" 
      ] 
     }] 
    } 
} 
+0

何を試しましたか? – Yogesh

答えて

0

ネストされた「pc」文書を配列から削除しようとしているとしますか?また、特定のドライバを使用しているのかどうかは言及していないので、Mongoシェルでこれを実行していると仮定しています。

「BB」タグが含まれていると、以下のように 'pc'プロパティから文書が削除されます。

db.collectionName.update({'socialItems.pc.tags': 'BB'}, {$pull: {'socialItems.pc': {tags: 'BB'}}}) 
関連する問題