MongoDB 条件不工作的聚合项目
MongoDB aggregation project with cond not working
我收到此代码的“MongoServerError:无效的 $project :: 由 :: Unrecognized parameter to $cond: $if”引起。它有什么问题,我该如何解决?
{
$project: {
_id: 1,
date: 1,
slot: 1,
franchiseId: 1,
status: 1,
order: {
$cond: {
$if: { $gt: ['$carspa', null] },
$then: {
price: '$carspa.price',
mode: '$carspa.mode',
address: '$carspa.address',
addOn: '$carspa.addOn',
service: '$carspa_service.name'
},
$else: {
$if: { $gt: ['$mechanical', null] },
$then: {
price: '$mechanical.price',
mode: '$mechanical.mode',
address: '$mechanical.address',
addOn: '$mechanical.addOn',
service: '$mechanical_service.name'
},
$else: {
price: '$quickhelp.price',
mode: '$quickhelp.mode',
address: '$quickhelp.address',
addOn: '$quickhelp.addOn',
service: '$quickhelp_service.name'
}
},
},
},
}
}
尝试
{
$project: {
_id: 1,
date: 1,
slot: 1,
franchiseId: 1,
status: 1,
order: {
$cond: {
if: { $gt: ['$carspa', null] },
then: {
price: '$carspa.price',
mode: '$carspa.mode',
address: '$carspa.address',
addOn: '$carspa.addOn',
service: '$carspa_service.name'
},
else: {
if: { $gt: ['$mechanical', null] },
then: {
price: '$mechanical.price',
mode: '$mechanical.mode',
address: '$mechanical.address',
addOn: '$mechanical.addOn',
service: '$mechanical_service.name'
},
else: {
price: '$quickhelp.price',
mode: '$quickhelp.mode',
address: '$quickhelp.address',
addOn: '$quickhelp.addOn',
service: '$quickhelp_service.name'
}
},
},
},
}
}
我收到此代码的“MongoServerError:无效的 $project :: 由 :: Unrecognized parameter to $cond: $if”引起。它有什么问题,我该如何解决?
{
$project: {
_id: 1,
date: 1,
slot: 1,
franchiseId: 1,
status: 1,
order: {
$cond: {
$if: { $gt: ['$carspa', null] },
$then: {
price: '$carspa.price',
mode: '$carspa.mode',
address: '$carspa.address',
addOn: '$carspa.addOn',
service: '$carspa_service.name'
},
$else: {
$if: { $gt: ['$mechanical', null] },
$then: {
price: '$mechanical.price',
mode: '$mechanical.mode',
address: '$mechanical.address',
addOn: '$mechanical.addOn',
service: '$mechanical_service.name'
},
$else: {
price: '$quickhelp.price',
mode: '$quickhelp.mode',
address: '$quickhelp.address',
addOn: '$quickhelp.addOn',
service: '$quickhelp_service.name'
}
},
},
},
}
}
尝试
{
$project: {
_id: 1,
date: 1,
slot: 1,
franchiseId: 1,
status: 1,
order: {
$cond: {
if: { $gt: ['$carspa', null] },
then: {
price: '$carspa.price',
mode: '$carspa.mode',
address: '$carspa.address',
addOn: '$carspa.addOn',
service: '$carspa_service.name'
},
else: {
if: { $gt: ['$mechanical', null] },
then: {
price: '$mechanical.price',
mode: '$mechanical.mode',
address: '$mechanical.address',
addOn: '$mechanical.addOn',
service: '$mechanical_service.name'
},
else: {
price: '$quickhelp.price',
mode: '$quickhelp.mode',
address: '$quickhelp.address',
addOn: '$quickhelp.addOn',
service: '$quickhelp_service.name'
}
},
},
},
}
}