MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Poussez les éléments dans le tableau mongo via mongoose

En supposant que var friend = { firstName: 'Harry', lastName: 'Potter' };

Deux options s'offrent à vous :

Mettez à jour le modèle en mémoire et enregistrez (plain javascript array.push) :

person.friends.push(friend);
person.save(done);

ou

PersonModel.update(
    { _id: person._id }, 
    { $push: { friends: friend } },
    done
);

J'essaie toujours d'opter pour la première option lorsque cela est possible, car elle respectera davantage les avantages que la mangouste vous offre (hameçons, validation, etc.).

Cependant, si vous effectuez de nombreuses écritures simultanées, vous rencontrerez des conditions de concurrence où vous vous retrouverez avec des erreurs de version désagréables pour vous empêcher de remplacer le modèle entier à chaque fois et de perdre l'ami précédent que vous avez ajouté. N'utilisez donc le premier que lorsque c'est absolument nécessaire.