Mongoose, jak zrobić find () z dwoma lub warunkami

Próbuję znaleźć znalezisko, które otrzyma wszystkie dokumenty, które mają tytuł lub desc, które zawierają wyrażenie regularne (które działa), a następnie filtruje je dalej, aby zawierały tylko dokumenty, które mają flagę „prywatną” ustawioną na false lub Pole „użytkownik” ustawione na podany identyfikator użytkownika.

Oto, co próbuję do tej pory ...

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

Powinien on zwracać tylko 6 wierszy, ale powraca 56. Jeśli wyjmę 2. lub (), to działa to przy filtrowaniu według tytułu / desc. Zgaduję, że źle to rozumiem.

Czy ktoś może mi pomóc dowiedzieć się, jak to zrobić poprawnie?

questionAnswers(2)

yourAnswerToTheQuestion