Clasificación por relevancia con MongoDB

Tengo una colección de documentos en el siguiente formulario:

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

La consulta debe encontrar todos los documentos con cualquiera de estas etiquetas. Actualmente utilizo esta consulta:

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

Y funciona; Se devuelven todos los documentos etiquetados "barra" o "hola".

Sin embargo, quiero ordenar por relevancia, es decir, cuanto másetiquetas coincidentes cuanto antes se produzca el documento en el resultado. Por ejemplo, un documento etiquetado.["bar", "hello", "baz"] Debería ser mayor en los resultados que un documento etiquetado.["bar", "baz", "boo"] para la consulta["bar", "hello"]. ¿Cómo puedo conseguir esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta