Ich habe einen Datensatz, derWie aktualisiere ich ein bestimmtes Feld in Mungo?
var JobSchema = Schema({
candidates: [{
user: { type: Schema.Types.ObjectId, ref: 'User'},
status: { type: String, default: 'In Progress' },
}]
});
ist in einem bestimmten Verzeichnis job's _id
finden wollen und eine spezifische Kandidaten-Feld zu aktualisieren, wie { _id: 123, user: 12345, status: "In Progress" }
Die URL für diese Operation --- ist>localhost:3000/apply/:job_id/user_id
Zum Beispiel
Lassen Sie sagen, dass dies die aktuellen gespeicherten Daten in Job mongodb ist
{
"_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
}
Wie aktualisiere ich nur ein bestimmtes Feld lassen sagen status
Feld, das _id
in mongodb zu einem gewissen Kandidaten gehört, Hier ist mein Versuch
Job.update(
{
_id: req.params.job_id,
},
{
$set: {'candidates.$.status': 'Accepted'} ,
}, function(err, count) {
if (err) return next(err);
callback(err, count);
});
Ich werde diesen Fehler Wenn ich den obigen Vorgang verwenden.
MongoError: Der positionelle Operator hat die von der Abfrage benötigte Übereinstimmung nicht gefunden. Nichtexpandierten Update:.. Kandidaten $ status