Mangouste, comment faire un find() avec deux ou conditions

Je suis en train de faire une découverte qui va recevoir tous les documents qui, a un titre ou desc qui contient l'expression régulière (qui fonctionne) et puis on le filtre en outre à ne contiennent que des documents qui ont le "privé" indicateur a la valeur false ou "l'utilisateur" de champ le nom d'utilisateur.

Voici ce que j'essaie de si loin...

FCSet.find({}, {"flashCards":0}).or([{ 'title': { $regex: re }}, { 'desc': { $regex: re }}]).or([{ 'private': false}, { 'user': 'userId'}]).sort('title')

Cela ne devrait être de retour 6 lignes, mais il est de retour 56. Si je prends la 2ème ou de la (), puis il travaille pour le filtrage par titre/desc. Je devine que je vais sur le mauvais chemin.

Quelqu'un peut-il m'aider à comprendre comment faire cela correctement?

Je ne suis pas sûr si $rup seront fusionnés côté serveur en tant que tels faire le dessous de la requête pourrait être un glas pour votre base de données, vous aurez à fusionnées et retour 4 séries de résultats séparément dans MongoDB.

OriginalL'auteur Triton Man | 2014-01-22