Estoy tratando de comparar dos colecciones y devolver datos ordenados en el orden en que se envió el pedido original, usando javascript, node.js
Configuración:
Colección A:
"community": [ { "_id": "62203a179aef2e193cdde104", "sort": 3, "rId": "621842a5e6c0f8002768cd11" }, { "_id": "62203a179aef2e193cdde105", "sort": 1, "rId": "62184291e6c0f8002768cd10" }, { "_id": "62203a179aef2e193cdde106", "sort": 2, "rId": "6218427ae6c0f8002768cd12" } ]Colección B:
{ "_id": "6218427ae6c0f8002768cd0f", "captionText": "Test 1" }, { "_id": "62184291e6c0f8002768cd10", "captionText": "Test 2" }, { "_id": "621842a5e6c0f8002768cd11", "captionText": "Test 3" }Mi código:
let output = [] let findId = community.map(temp => {return temp.rId}) let findX = await CollectionB.find({'_id': {$in: findId}}, '_id captionText') output.push(...findX) console.log(output) Este código devuelve el resultado en el orden [{"Test 1"}, {"Test 2"}, {"Test 3"}]
Sin embargo, quiero devolver el pedido según el valor de sort en la Colección A.
Quiero esta salida [{"sort": 1}, {"sort": 2}, {"sort": 3}] , junto con los datos de la Colección B.
Cualquier ayuda y explicación sería muy apreciada.