我有两个集合,需要对它执行左外连接。使用$lookup
可以很好地工作,但问题是集合来自一些API,其中localField
的值是小写的,而foreignField
是大写的。
如何使用$lookup
忽略或小写值?我尝试了一些方法,但没有机会。我找到了一个解决方案,但适用于旧版本的mongodb。如果您有任何经验,请帮助:)
db.mycollection.aggregate([
{
$lookup: {
from: 'mycollection',
localField: 'symbol',
foreignField: 'index_id',
as: 'foo',
},
},
]);
1条答案
按热度按时间rjzwgtxy1#
您可以在查找之前执行
$addFields
stage,以创建大写字段,然后在该字段上查找。这类似于$project
stage,它显式指定输入文档中的所有现有字段并添加新字段。两个虚拟的集合就像这样
playground
如果你想从输出中删除添加的字段,只需添加一个
$project
stage,如playground