Тестирование агрегатов $lookup с Mongomock
Я получил запрос агрегации с $lookup
внутри него:
pipeline = [{
'$match': {
'_id': ObjectId(layout_id)
}
}, {
'$lookup': {
'from': 'units',
'localField': 'unit_id',
'foreignField': '_id',
'as': 'layout_unit'
}
}, {
'$replaceRoot': {
'newRoot': {
'$mergeObjects': [{
'$arrayElemAt': ["$layout_unit", 0]
}]
}
}
}, {
'$project': {
'layout_unit': 0
}
}, {
'$lookup': {
'from': 'users',
'localField': 'user_id',
'foreignField': '_id',
'as': 'unit_user'
}
}, {
'$unwind': '$unit_user'
}]
Я хотел бы протестировать его с помощью mongomock
, Проблема здесь в том, что с версии 3.9.0 она не поддерживает $lookup
агрегирование.
NotImplementedError: Although '$lookup' is a valid operator for the aggregation pipeline, it is currently not implemented in Mongomock.
Есть ли обходной путь к этому? Или, возможно, альтернативное решение mongomock
?
1 ответ
Может быть, на несколько месяцев позже, но из-за старой версии на моем компьютере я обнаружил, что теперь lib выпустила реализацию для этого оператора.