2016-02-18 1 views
1

Dans la base de données, il y a deux utilisateurs,Comment faire une requête correctement dans ce cas?

// User1 

    {ABC: [{aa:"11", bb:"11"}, {aa:"22", bb:"22"}]} 

// User2 

    {ABC: [{aa:"11", bb:"22"}, {aa:"33", bb:"44"}]} 

Je veux amener les utilisateurs dont aa = 11 et bb = 22 en même temps dans un élément du tableau. Donc, je veux seulement obtenir User2 ici.

let users = Meteor.users.find({$and: [{'ABC.aa': "11"}, {'ABC.bb': "22"}]}); 

Mais maintenant j'ai les deux utilisateurs qui utilisent cette requête. Comment puis-je écrire la requête correctement? Merci

Répondre

2

Utilisez $elemMatch pour correspondre à un élément entier:

let users = Meteor.users.find({ ABC: { $elemMatch: { aa: "11", bb: "22" }}}); 
+0

Merci beaucoup! –