У меня есть такой набор данных:
{
"_id" : ObjectId("5c35f04c4e92b8337885d9a6"),
"activity" : {
a: 10,
b: 20,
c: 30,
d: 40,//This is for ratio purpose
e: 50,//This is for ratio purpose
}
}
Теперь я хочу выполнить сложение с умножением и делением для этого я написал запрос, т.е.
User.aggregate([
{ $match: { _id: ObjectId("5c35f04c4e92b8337885d9a6") } },
{ $unwind: "$_id" },
{
$project: {
"activity.score": {
$add: [
{
$multiply: [
"$activity.message_count",
1.5
]
},
{
$multiply: [
"$activity.b",
1.6
]
},
{
$multiply: [
"$activity.c",
1.7
]
},
{
$multiply: [
{
$divide: [
"$activity.d",
"$activity.e"
]
},
1.8
]
}
}
}
]).then(data => {
console.log(data)
})
.catch(error => {
console.log(error)
})
Таким образом, я получилответьте, но когда
d и e станут 0, т. е. вот так
{
"_id" : ObjectId("5c35f04c4e92b8337885d9a6"),
"activity" : {
a: 10,
b: 20,
c: 30,
d: 0,//This is for ratio purpose
e: 0,//This is for ratio purpose
}
}
, тогда mongodb выдаст ошибку, которая будет MongoError: not $делим на ноль .
Любой может подсказать мне, как справиться с этим