fixed measurements lookup pipeline
This commit is contained in:
		@@ -230,8 +230,11 @@ router.get('/samples', async (req, res, next) => {
 | 
			
		||||
            {$eq: ['$sample_id', '$$sId']},
 | 
			
		||||
            {$in: ['$measurement_template', measurementTemplates.map(e => mongoose.Types.ObjectId(e._id))]}
 | 
			
		||||
          ]}}},
 | 
			
		||||
          {$project: filters.fields.filter(e => /measurements\./.test(e))
 | 
			
		||||
              .map(e => 'values.' + e.replace('measurements.', '')).reduce((s, e) => {s[e] = true; return s; }, {})}
 | 
			
		||||
          {$project: _.merge(
 | 
			
		||||
            filters.fields.filter(e => /measurements\./.test(e))
 | 
			
		||||
              .map(e => 'values.' + e.split('.')[2]).reduce((s, e) => {s[e] = true; return s; }, {}),
 | 
			
		||||
            {measurement_template: true, status: true, sample_id: true}
 | 
			
		||||
          )}
 | 
			
		||||
        ],
 | 
			
		||||
        as: 'measurements'
 | 
			
		||||
    }});
 | 
			
		||||
@@ -328,8 +331,11 @@ router.get('/samples', async (req, res, next) => {
 | 
			
		||||
              {$eq: ['$sample_id', '$$sId']},
 | 
			
		||||
              {$in: ['$measurement_template', measurementTemplates.map(e => mongoose.Types.ObjectId(e._id))]}
 | 
			
		||||
            ]}}},
 | 
			
		||||
            {$project: filters.fields.filter(e => /measurements\./.test(e))
 | 
			
		||||
                .map(e => 'values.' + e.replace('measurements.', '')).reduce((s, e) => {s[e] = true; return s; }, {})}
 | 
			
		||||
            {$project: _.merge(
 | 
			
		||||
              filters.fields.filter(e => /measurements\./.test(e))
 | 
			
		||||
                .map(e => 'values.' + e.split('.')[2]).reduce((s, e) => {s[e] = true; return s; }, {}),
 | 
			
		||||
              {measurement_template: true, status: true, sample_id: true}
 | 
			
		||||
            )}
 | 
			
		||||
          ],
 | 
			
		||||
          as: 'measurements'
 | 
			
		||||
        }});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user