Estoy creando una aplicación de citas en la que un algoritmo devuelve una serie de uuid de usuario coincidentes al ordenarlos. Entonces quiero encontrar a todos los usuarios por esa matriz de uuid en orden.
Traté de hacer esto
//init algorithm const algo = new Match(currentUser, users); //calculate score algo.calcScore(); //sort it algo.sort(); //get array of uids of matching users const matches = algo.matching_users; //find users by that array of uid const matching_users = await User .find({ uid: { $in: matches } }) .skip(total_items - items) .limit(items) .lean() .exec() Esto devuelve los usuarios pero no en orden. Por ejemplo, deje que la matriz de uid sea: ["c", "d", "a", "b"] la consulta anterior devuelve objetos de usuario en: [{...uid: "a"},{...uid: "b"},{...uid: "c"},{...uid: "d"}, ]
Salida esperada: [{...uid: "c"},{...uid: "d"},{...uid: "a"},{...uid: "b"}, ]