Я пытаюсь выяснить, как сделать следующее:
В настоящее время я использую следующий скрипт, чтобы увидеть, соответствует ли объявление списку.
'$lookup': {
'from': 'advertisers',
'localField': 'title',
'foreignField': 'title',
'as': 'adsys'
}
, но некоторые из наших списков У него нет рекламы, и когда он в настоящее время возвращается, он показывает adsys: []
Вместо этого я хотел бы, чтобы он показывал рекламу на adsys: NULL или полностью удалил adsys. Я посмотрел на
$ifNull
Однако я не уверен, как прикрепить его к adsys, если он находится в поиске.
Я попробовал это:
{
'$lookup': {
'from': 'advertisers',
'localField': 'title',
'foreignField': 'title',
'as': 'adsys'
}
},
{
'$project': {
'title': 1,
'adsys': { '$ifNull': [ "$adsys", "Unspecified" ] }
}
}
и это вернуло это:
{"data":[{"track":[{"_id":"5e1a96c3081a7a70d5c8971f","title":"Out of Mind","adsys":[]}]}]}
что я хотел бы сделать, это вернуть это
{"data":[{"track":[{"_id":"5e1a96c3081a7a70d5c8971f","title":"Out of Mind","adsys":NULL}]}]}