sql >> Databasteknik >  >> NoSQL >> MongoDB

Skjut föremål i mongo-arrayen via mongoose

Förutsatt att var friend = { firstName: 'Harry', lastName: 'Potter' };

Det finns två alternativ du har:

Uppdatera modellen i minnet och spara (vanligt javascript array.push):

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

eller

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

Jag försöker alltid att välja det första alternativet när det är möjligt, eftersom det kommer att respektera fler av fördelarna som mangust ger dig (krokar, validering, etc.).

Men om du skriver många samtidiga skrivningar kommer du att drabbas av tävlingsförhållanden där du kommer att sluta med otäcka versionsfel som hindrar dig från att byta ut hela modellen varje gång och förlora den tidigare vän du lade till. Så gå bara till det förra när det är absolut nödvändigt.



  1. stänga av redis-server från kommandoraden

  2. Analysera ISO8601-datumsträngen till datum med UTC-tidszon

  3. Vad är skillnaden mellan StackExchange.Redis och StackExchange.Redis.StrongName?

  4. F# Multiple Attributes CLIMutable DataContract