我有一个$lookup操作,当我试图在管道中与addFields一起使用$nor时,它会失败。
它不能说:""errmsg“:”由::不可识别的表达式‘nor’引起的无效addFields ::“。
我做错了什么?
我可以在AddFields中使用任何表达式吗?
干杯
示例:
{
from : "Partner",
localField : "PartnerId",
foreignField : "_id",
as : "PartnerInfo",
pipeline : [
{
$project : {
_id : 0,
"Company.DiversityCollaborators" : 1,
"Company.DiversityLeadership" : 1,
"Company.DiversityShareHolders" : 1
}
},
{
$addFields : {
"HasDiversity" : {
$cond : [
{
$or : [
{
$nor : [
{
"$Company.DiversityCollaborators" : {
$size : 0
}
}
]
},
{
$nor : [
{
"$Company.DiversityLeadership" : {
$size : 0
}
}
]
},
{
$nor : [
{
"$Company.DiversityShareHolders" : {
$size : 0
}
}
]
},
]
},
"Y",
"N"
]
},
}
}
]
}发布于 2022-10-03 21:13:31
对不起,伙计们,正确的表达是$anyElementTrue
干杯
"HasDiversity": {
$cond:[ { $or: [
{ $anyElementTrue: [ "$Company.DiversityCollaborators" ] },
{ $anyElementTrue: [ "$Company.DiversityLeadership" ] },
{ $anyElementTrue: [ "$Company.DiversityShareHolders" ] },
]} , "S", "N"]
},https://stackoverflow.com/questions/73940785
复制相似问题