Ich habe ein grundlegendes Dokument wie:Wie finde ich ein Filialdokument einer Sammlung und aktualisiere es mit Mongoose/MongoDB? so
_id: fm393nrr,
name: 'My Event'
members: [{
user: 94iru134nf
attending: 1
}, {
user: er9fr94,
attending: 0
}]
Wie würde ich ändern attending
ein Mitglied auf der Grundlage ihrer user
?
Zum Beispiel so etwas wie:
var eventToFind = 'fm393nrr'; //usually retrieved by req.params
var userToFind = 'er9fr94'; //usually retrieved by req.body.user
Event.findOneAndUpdate({
_id: eventToFind
}, {
$set: {members.attending: {.....}}
}
).exec(function(){....});
Im obigen Ich versuche, die Mitglied von er9fr94
einzustellen attending
von 1.-Code zu haben, sehr ausgeschaltet ist, aber es war ein langer Schuss Versuch. Habe noch nie mit Filialdokumenten/eingebetteten Dokumenten gearbeitet.
Also ich würde einfach nur tun '$ Satz: { ". Mitglieder $ Teilnahme": 1}' ändern ihre 'attending'? – Fizzix
Ja. Um die Teilnahme der 'Mitglieder' zu ändern, die' userToFind' entsprechen. – RainingChain
vielleicht hinzufügen '{upsert: true, new: true}' Wenn Sie Probleme haben –