Mam zestaw danych, które sąJak zaktualizować określone pole w mangusty?
var JobSchema = Schema({
candidates: [{
user: { type: Schema.Types.ObjectId, ref: 'User'},
status: { type: String, default: 'In Progress' },
}]
});
Chcę znaleźć konkretny job's _id
i zaktualizować pole konkretnego kandydata, takie jak { _id: 123, user: 12345, status: "In Progress" }
URL dla tej operacji jest --->localhost:3000/apply/:job_id/user_id
Na przykład
powiedzmy, że jest to bieżące dane zapisane w MongoDB pracy
{
"_id" : 123, ---> job_id
"candidates" :
[{
"_id" : 234 ,
"user": 345 , --> user_id
"status" : "In Progress"
},
{
"_id" : 345 ,
"user": 678 , --> user_id
"status" : "In Progress"
}]
"__v" : 0
}
Jak zaktualizować tylko konkretnego pola powiedzmy status
pole, które należą do pewnego kandydatów _id
w MongoDB, oto moja próba
Job.update(
{
_id: req.params.job_id,
},
{
$set: {'candidates.$.status': 'Accepted'} ,
}, function(err, count) {
if (err) return next(err);
callback(err, count);
});
będę się tego błędu Jeśli używam powyższą operację.
MongoError: operator pozycji nie znalazł dopasowania wymaganego z zapytania. Niespienione zmiana:.. Kandydaci $ stan