sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan ville jeg returnere ordren af ​​MongoDB-indlæg efter tid Favoritt af bruger?

I stedet for blot at registrere, hvilke indlæg en bruger kan lide med:

Meteor.users.update({ _id: this.userId },{ $addToSet: { liked: postId }});

Skub et objekt, der indeholder både postId og nuværende dato

Meteor.users.update({ _id: this.userId },
  { $push: { liked: { postId: postId, likedAt: new Date() }});

Det løser dit spørgsmål om "hvor skal du gemme", men det komplicerer dit liv på andre måder, fordi din søgning/sorteringsforespørgsel bliver mere kompliceret. Du bliver også nødt til at forhindre dupes med kode, fordi mens $addToSet gør det automatisk for dig $push ikke.




  1. kan ikke starte mongo db, initandlisten undtagelse

  2. Kan $in og $ eller erstatte hinanden i MongoDB?

  3. Fatal fejl:Uopfanget undtagelse 'RedisException' med beskeden 'Redis-server gik væk'

  4. MongoDB - installationsfejl - mongodb opsætningsguide sluttede for tidligt