我想创建一个名为finalPrice的新字段,finalPrice将包含basePrice - discountPrice,我想对finalPrice进行排序
// Find marketItem by item
const itemType = req.query?.itemType?.split(',');
marketItem = await MarketItem.find({
$and: [
(req?.query?.itemType
? {
item: { $in: _ids },
itemType: { $in: itemType }
}
: {
item: { $in: _ids }
},
{ $push: { finalPrice: "basePrice" - "dscountPrice" } })
]
})
.limit(limit)
.skip(startIndex)
.populate('item')
.sort(
req.query.sortPrice && req.query.sortDate
? { price: Number(req.query.sortPrice), createdAt: Number(req.query.sortDate) }
: req.query.sortPrice
? { price: Number(req.query.sortPrice) }
: req.query.sortDate
? { createdAt: Number(req.query.sortDate) }
: { createdAt: -1 }
);
我想创建一个名为finalPrice的新字段,finalPrice将包含basePrice - discountPrice,我想使用.sort()方法对finalPrice进行排序,或者有人知道最佳答案吗?我的观点是创建一个新字段finalPrice = basePrice - discountPrice,我想对finalPrice进行排序
1条答案
按热度按时间sgtfey8w1#