Sortowanie według trafności z MongoDB

Mam zbiór dokumentów w następującej formie:

{ _id: ObjectId(...)
, title: "foo"
, tags: ["bar", "baz", "qux"] 
}

Zapytanie powinno znaleźć wszystkie dokumenty z dowolnym z tych tagów. Obecnie używam tego zapytania:

{ "tags": { "$in": ["bar", "hello"] } }

I to działa; wszystkie dokumenty oznaczone „bar” lub „witaj” są zwracane.

Jednak chcę sortować według trafności, czyli więcejpasujące tagi im wcześniej dokument powinien pojawić się w wyniku. Na przykład oznaczony dokument["bar", "hello", "baz"] powinien być wyższy w wynikach niż oznaczony dokument["bar", "baz", "boo"] dla zapytania["bar", "hello"]. Jak mogę to osiągnąć?

questionAnswers(3)

yourAnswerToTheQuestion