我得到了一个包含$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的替代解决方案
发布于 2018-11-13 22:29:50
也许晚了几个月,但由于我电脑中的旧版本,我发现现在lib发布了该操作符的实现。
https://stackoverflow.com/questions/49628968
复制相似问题