У вас есть синтаксическая ошибка. $ или ожидает массив условий при передаче одного объекта, и поэтому применяется только последнее условие, попробуйте:
{
$cond: {
if: {
$or: [
{ $eq: ["$user_id", ObjectId('5e9619084ad04327e4295b2c') ] },
{ $eq: ["$user_id", ObjectId('5e9618f04ad04327e4295b27') ] },
]
},
then: 1,
else: -1
}
}
, вы также можете упростить свой код и использовать $ in :
{
$cond: {
if: { $in: [ "$user_id", [ObjectId('5e9619084ad04327e4295b2c'), ObjectId('5e9618f04ad04327e4295b27')] ] },
then: 1,
else: -1
}
}