2017-01-06 13 views
0

私は以下の問題があり、患者情報を編集してこの患者情報を更新したいと思います。これを行う最善の方法は何ですか?私はおそらくこのようなものが必要になりますmongodbの配列内の子オブジェクトを更新するにはどうすればいいですか

var department = mongoose.model('department', { 
    departmentName: String, 
    rooms: [{ 
    roomNumber: String, 
    width: Number, 
    height: Number, 
    posX: Number, 
    posY: Number, 
    sanitary: Boolean, 
    childcareArea: Boolean, 
    lounge: Boolean, 
    patient: { 
     patientnr: Number, 
     firstname: String, 
     lastname: String, 
     reasonOfHospitalization: String, 
     dateOfHospitalization: String, 
     expectedDateOfDischarge: String, 
     vegetarian: Boolean, 
     needsHelp: Boolean, 
     comments: String, 
     department: String, 
     roomNumber: String, 
     nextTreatment: { 
     type: String, 
     shortDescription: String, 
     timestamp: String 
     } 
    } 
    }] 
}); 

...

app.post('/api/departments/patients/:id', function(req, res) { 
    department.update({..}) 
}); 

答えて

0

私はあなたがそうも角度のJSを使用している見るので、あなたは

app.post('/api/departments/patients/:id', function(req, res) { 

    //first, find the document 
    department.findById(req.params.id, function(err, dept){ 

     //make changes accordingly 
     dept.patient.firstname = 'Changed' 

     dept.save(function(err){ 
      res.send ('Saved'); 
     }) 
    }); 
}); 
0

の線に沿って何かをする必要があります更新したい要素を渡すことができます。

あなたのreq.bodyには、更新したい変数が含まれている可能性があります。

今、アレイの更新

app.post('/api/departments/patients/:id', function(req, res) { 
    department.findByIdAndUpdate({id : req.params.id}, 
    { 
     $push: 
     { 
     rooms.roomnumber: req.body.departmentName 
     }}, {new : true}), function(err,doc){ 
     console.log(doc); 
    }) 
}); 
のオブジェクトと$プッシュの更新のための$のセットを忘れないでください
関連する問題