2016-04-15 4 views
0

配列内の患者から情報を取得したいが、MongoDBのWebサイトでそのコマンドを見つけることができない。誰かがデータを取得するための適切なコマンドを表示してもらえますか?たとえば、患者の名前を取得したいのですか?配列内の患者に関する情報を取得したい

{ 
    "_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

意味しますか? – BanksySan

+0

はい、患者名のリストが必要です – ebatinstitute

答えて

1

これは単に.aggregate()方法及び$map演算子を使用して行うことができます。あなたはまた、コレクションからすべての名前を取得するには.distinctを使用することができます

{ 
    "_id" : ObjectId("57113238bde91693e9ff69e7"), 
    "patients" : [ "Jenny Power", "Marie Peters", "Philip John", "Marta Peters" ] 
} 

:返し

db.collection.aggregate([ 
    { "$project": { 
     "patients": { 
      "$map": { "input": "$patients", "as": "p", "in": "$$p.name" } 
     } 
    }} 
]) 

db.collection.distinct("patients.name") 

返す:あなたはちょうど患者名、他には何のリストが欲しい

[ "Jenny Power", "Marie Peters", "Marta Peters", "Philip John" ] 
関連する問題