2016-04-15 4 views
0

私はアレイから患者を削除したいと思います。 私の状況では可能ですか、私は例を探しましたが、同様のものは見つけられませんでした 誰でもショー患者さんを削除する方法があれば が可能です。私の配列から特定の患者を削除したい

{ 
    "_id" : ObjectId("57113238bde91693e9ff69e7"), 
    "docname" : "Arthur Hovsepyan", 
    "job_desc" : "Hepatologist", 
    "sex" : "male", 
    "jobtype" : "fulltime", 
    "office" : "room 448", 
    "email" : "[email protected]", 
    "phone_number" : 862124343, 
    "address" : "68 Peterburg street,waterford", 
    "hours" : 12, 
    "patients" : [ 
     { 
      "name" : "Jenny Power", 
      "ward_no" : 1, 
      "sex" : "female", 
      "termdays" : 2, 
      "illness_type" : "minor", 
      "age" : 22, 
      "phone_number" : 877285221, 
      "address" : "63 Johnston street ,Waterford" 
     }, 
     { 
      "name" : "Marie Peters", 
      "ward_no" : 2, 
      "sex" : "female", 
      "termdays" : 0, 
      "illness_type" : "minor", 
      "age" : 21, 
      "phone_number" : 862145992, 
      "address" : "99 Grange,Waterford" 
     }, 
     { 
      "name" : "Philip John", 
      "ward_no" : 2, 
      "sex" : "male", 
      "termdays" : 10, 
      "illness_type" : "serious", 
      "age" : 31, 
      "phone_number" : 861125981, 
      "address" : "12 Monvoy Bridge,Waterford" 
     }, 
     { 
      "name" : "Marta Peters", 
      "ward_no" : 3, 
      "sex" : "female", 
      "termd7ays" : 0, 
      "illness_type" : "minor", 
      "age" : 31, 
      "phone_number" : 862125981, 
      "address" : "100 Grange Manor,Waterford" 
     } 
    ] 
} 
+0

をしたいクエリの予想される結果とは何ですか? – styvane

+0

結果は、たとえばMarie Petersとそのすべての詳細がアレイから削除されることになります – ebatinstitute

+0

実際のデータを入れたり、データをテストしていますか? – BanksySan

答えて

1

ドキュメントはhereです。

あなたは

db.foo.update({}, { 
    $pull: { 
     patients: { 
      name: "Jenny Power" 
     } 
    } 
}) 
+1

['updateOne'](https://docs.mongodb.org/manual/reference/method/db.collection.updateOne/#db.collection.updateOne)または[' updateMany ) '(https://docs.mongodb.org/manual/reference/method/db.collection.updateMany/#db.collection.updateMany)' update() 'が推奨されないためです。 – styvane

+1

非推奨通知はシェルで少し遅れていますが、@ user3100115による一般的なステートメントは真実ではありません。誰も後で "シェル"に "アプリケーション"を書くつもりはない。ですから、おそらく '.updateOne()'とターゲット文書の '_id'です。また '@'も参照してください。それは、あなたが「彼ら」と話していることを人々が知っている唯一の方法です。それ以外の場合は、あなたのコメントはちょうど "自分と話す"です。 –

関連する問題