所以我需要一个在MongoDB中计算的自定义字段,如下所示
if( field1 =="A") ->customfield=10
else if(field1 =="B" )->customfield=20
else (field1 =="C" ) ->customfield=15
我在使用聚合和$project语句.但是$cond操作符不允许elseif(对else进行分支),只允许两个静态分支if和else.使用嵌套的elseif
"exception: field inclusion is not allowed inside of $expressions"
这是我的问题(这给了我错误)
db.items.aggregate([ { $project :
{
name: 1,
customfield:
{
$cond: { if: { $eq: [ "$field1", "4" ] }, then: 30,
else: {
if:
{ $eq: ["$field1","8"]},
then: 25, else: 10}}
}
}},{ $sort: { customfield: 1 }},{$limit:12}]);
有什么方法或解决方法吗.如果这是一个重复的问题,我很抱歉,但我找不到类似的问题.