File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -201,20 +201,25 @@ def get_nested_fields(model: Type[BaseModel]):
201
201
def create_nested_pipeline (model : Type [BaseModel ], prefix = "" ):
202
202
logger .debug (f"Creating nested pipeline for model: { model .__name__ } , prefix: { prefix } " )
203
203
nested_fields = get_nested_fields (model )
204
- pipeline = _get_project_projection (model )
205
204
match_conditions = {}
205
+ pipeline = {
206
+ "_id" : False ,
207
+ }
206
208
207
209
for field_name , field_type in model .__fields__ .items ():
208
- if field_name in pipeline :
209
- # Skip fields that are already in the pipeline
210
- continue
211
-
212
210
lookup_field = (
213
211
model .collection_name () if hasattr (model , "collection_name" ) else model .__name__
214
212
)
215
213
mongo_field = new_collections .get (lookup_field , field_name .lower ())
216
214
full_field_name = f"{ prefix } { mongo_field } "
217
215
216
+ if field_name == "timestamp" :
217
+ pipeline ["timestamp" ] = "$timestamp"
218
+ elif field_name == "unit" :
219
+ pipeline ["unit" ] = f"${ full_field_name } _unit"
220
+ else :
221
+ pipeline [full_field_name ] = f"${ full_field_name } "
222
+
218
223
if field_name in nested_fields :
219
224
if get_origin (field_type .type_ ) is List :
220
225
nested_pipeline , nested_match = create_nested_pipeline (
You can’t perform that action at this time.
0 commit comments