У меня есть следующий конвейер в моем скрипте pymongo:
pipeline = [
{'$match': {'_id': '123456'}},
{'$lookup': {
'from': 'Case',
'localField': '_id',
'foreignField': 'RecordList.Record._id',
'as': 'CaseInfo'}
},
{'$unwind':'$CaseInfo'},
{'$unwind':'$CaseInfo.RecordList'},
{'$unwind':'$CaseInfo.RecordList.Record'},
{'$match': {'CaseInfo.RecordList.Record._id': '123456'}}
]
Мне нужно изменить последнюю строку кода, чтобы мне не нужно было указывать идентификатор документа вручную, а взять его изисходный документ.
Я безуспешно пробовал следующее:
{'$match': {'CaseInfo.RecordList.Record._id': '_id'}}
{'$match': {'CaseInfo.RecordList.Record._id': '$_id'}}
Не могли бы вы мне помочь?
Кроме того, это самый эффективный способ сделать это?или я должен использовать $ project?Я пытался использовать его, но я не знаю структуру документа, и мне нужно каждое поле в документах.Я не уверен, есть ли способ не указывать «1» в операторе $ filter (так как я не знаю имен ключей)
Заранее спасибо