У меня следующая проблема: мне нужно выполнить sortBy для коллекции mon go DB, но с 3 типами полей типа int / number.
Сейчас у меня есть запрос
await Products.find({}).sort({ miShopPrice: -1, discountPrice: -1, normalPrice: -1 })
но это возвращает меня:
[
{
"normalPrice": 250,
"miShopPrice": 100,
"discountPrice": 0
},
{
"normalPrice": 64990,
"miShopPrice": 0,
"discountPrice": 0
},
{
"normalPrice": 19500,
"miShopPrice": 0,
"discountPrice": 0
},
{
"normalPrice": 1600,
"miShopPrice": 0,
"discountPrice": 0
}
]
условие выглядит следующим образом
if you have miShopPrice and normalPrice -> myShopPrice
if you have miShopPrice and discountPrice -> myShopPrice
if you have discountPrice and normalPrice -> discountPrice
if you only have normalPrice -> normalPrice
то, что должен вернуть запрос, будет следующим:
[
{
"normalPrice": 64990,
"miShopPrice": 0,
"discountPrice": 0
},
{
"normalPrice": 19500,
"miShopPrice": 0,
"discountPrice": 0
},
{
"normalPrice": 1600,
"miShopPrice": 0,
"discountPrice": 0
},
{
"normalPrice": 250,
"miShopPrice": 100,
"discountPrice": 0
}
]
не могли бы вы мне помочь, я был бы очень признателен