MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Schieben Sie Elemente über Mongoose in das Mongo-Array

Angenommen, var friend = { firstName: 'Harry', lastName: 'Potter' };

Sie haben zwei Möglichkeiten:

Aktualisieren Sie das Modell im Arbeitsspeicher und speichern Sie es (einfaches Javascript-Array.push):

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

oder

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

Ich versuche immer, mich nach Möglichkeit für die erste Option zu entscheiden, da sie mehr von den Vorteilen respektiert, die Mungo Ihnen bietet (Haken, Validierung usw.).

Wenn Sie jedoch viele gleichzeitige Schreibvorgänge durchführen, werden Sie auf Rennbedingungen stoßen, bei denen Sie mit bösen Versionsfehlern enden, die Sie davon abhalten, jedes Mal das gesamte Modell zu ersetzen und den zuvor hinzugefügten Freund zu verlieren. Gehen Sie also nur zu Ersterem, wenn es absolut notwendig ist.