Zakładając, var friend = { firstName: 'Harry', lastName: 'Potter' };
Masz dwie opcje:
Zaktualizuj model w pamięci i zapisz (zwykły javascript array.push):
person.friends.push(friend);
person.save(done);
lub
PersonModel.update(
{ _id: person._id },
{ $push: { friends: friend } },
done
);
Zawsze staram się wybrać pierwszą opcję, jeśli to możliwe, ponieważ będzie ona uszanować więcej korzyści, które daje ci mangusta (haczyki, walidacja itp.).
Jednakże, jeśli robisz wiele jednoczesnych zapisów, napotkasz warunki wyścigu, w których skończysz z paskudnymi błędami wersji, które powstrzymają cię od wymiany całego modelu za każdym razem i utraty poprzedniego dodanego przyjaciela. Więc idź do pierwszego tylko wtedy, gdy jest to absolutnie konieczne.