我需要使用我的两个集合进行一个简单的MongoDB $ lookup请求:
命令
{
clientId: {type: 'String', default: null},
reference: {type: 'String'}
}
客户
{
_id: {type: 'Number', default: 0},
name: {type: 'String', default: null}
}
如何使用简单的mongoDB查询做到这一点?
现在,我已经知道了:
db.commands.aggregate({
$lookup: {
from: 'clients',
localField: 'clientId',
foreignField: '_id',
as: 'clientId'}
},
});
但是clientId字段始终是一个空数组。我想我需要暂时将clientId字段转换为Number吗?
感谢帮助
答案 0 :(得分:0)
使用$toInt
,4.0版的新功能。
db.commands.aggregate([
{$project: {clientId: { $toInt: '$clientId'}}},
{
$lookup: {
from: 'clients',
localField: 'clientId',
foreignField: '_id',
as: 'clientId'
}
}
]);