2014-06-18 4 views
1

Quelle est la meilleure façon de trouver des collections dans Meteor par ids?Meteor: collection find

J'ai essayé cette méthode:

UserCollection.findCollectionsByIds = function (ids) { 
    var collections = UserCollection.find({user: Meteor.userId(), _id: { $in: [ids]}}); 
    return collections; 
} 

où: ids = [ 'asgdajksdqa', 'ashudkjhaskc'] // un tableau d'objet id

Maintenant, si je vais faire une requête comme:

firstId = isd.pop(); 
var collections = UserCollection.find({_id: firstId }); 

il fonctionne correctement, donc vraiment je ne comprenais pas ce qui ne va pas.

Merci

Répondre

8

Replace

UserCollection.find({user: Meteor.userId(), _id: { $in: [ids]}}); 

avec

UserCollection.find({user: Meteor.userId(), _id: { $in: ids}}); 

Depuis ids est déjà un tableau ['asgdajksdqa', 'ashudkjhaskc'], si vous envelopper dans [...], vous aurez [['asgdajksdqa', 'ashudkjhaskc']].

+0

Merci, ça fonctionne. J'ai une autre question: vous savez comment trier les colelctions? J'ai essayé cela: Snippet.findMySnippet = function (userId) { retourne Snippet.find ({user: userId}, {sort: {_id: -1}}); } Mais ça ne marche pas Si je vais en ajouter un nouveau. Je dois créer un classé avec le cerationTime? – erlangb

Questions connexes