Po několika hodinách strávených snahou zjistit, kde je chyba a proč neaktualizuje databázi, jsem zjistil, že databázi skutečně aktualizoval. Problém byl v tom, že jsem kontroloval aktualizaci v mongo shellu a poté, co jsem ji aktualizoval přes žádost o příspěvek nodejs, se v shellu neobjevila jako aktualizovaná. Nicméně, když jsem console.log() štítky, byl aktualizován. Zkoumal jsem tedy problém dále a zjistil jsem, že problémem není mongo shell, ale nesprávné použití aktualizace příkazu mongoose. Chyběl mi argument zpětného volání. Po přidání funkce zpětného volání byla data v mongo shellu okamžitě aktualizována.
Takže místo toho:
Label.update({'_id': { $in: post.labelIds }}, {$addToSet: {postIds:req.body.id}}, {multi: true})
Nesmíte zapomenout přidat zpětné volání:
Label.update({'_id': { $in: post.labelIds }}, {$addToSet: {postIds:req.body.id}}, {multi: true}, function(err, affected) {
if(err)
console.log(err)
else
console.log(affected)
// After successful update, redirect here to another page...
Nebo jak duplicitní odpověď naznačuje spuštění exec():
Label.update({'_id': { $in: post.labelIds }}, {$addToSet: {postIds:req.body.id}}, {multi: true}).exec()