sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose, MongoDB:Hur sparar man() dokument efter push()?

Jag tror att det beror på hur ofta kommentarer kommer att läggas till ditt inlägg

Om det är mycket ofta, kanske du vill få det senaste antalet kommentarer, vilket skulle vara i din sparade återuppringning så här:

myPost.comments.push({user: 42, text: 'blablabla'});
myPost.save(function (err, post) {
    newCount = post.comments.length
});

Kom ihåg att push() är atomär i Mongoose. Med andra ord använder den $push under huven och inte $set (motsats till nonAtomicPush ). Så i teorin kan valfritt antal andra push/sparningar till kommentarer ske samtidigt, vilket betyder att i ditt givna exempel är comments.length inte nödvändigtvis n+1

Om du inte förväntar dig många kommentarer bör ditt exempel räcka. Det kan vara mindre exakt då och då. Uppsidan är att det kommer att gå lite snabbare eftersom hämtning kommer att vara synkront




  1. Installera phpMongo-drivrutiner på Windows

  2. $push i MongoDb fungerar inte?

  3. MongoDB $degreesToRadians

  4. Hur man hittar alla samlingar från mongoose