Node.js 如何在mongodb中创建最小和最大范围过滤器
如何基于特定类别的最低价格和最高价格产品表单创建mongodb查询最低和最高价格Node.js 如何在mongodb中创建最小和最大范围过滤器,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,如何基于特定类别的最低价格和最高价格产品表单创建mongodb查询最低和最高价格 const productSchema: Schema = new Schema({ title: { type: String, required: true }, price: { type: Number, required: true }, stock: { type: Number, required: true }, slug: { type: String }, sale_pric
const productSchema: Schema = new Schema({
title: { type: String, required: true },
price: { type: Number, required: true },
stock: { type: Number, required: true },
slug: { type: String },
sale_price: { type: Number, default: 0 },
thumbnail: { type: Schema.Types.ObjectId, ref: "FileManager" },
description: { type: String, required: true },
category: { type: Schema.Types.ObjectId, ref: "Category" },
attributes: { type: [Object], required: true },
created_at: { type: Date, default: Date.now },
updated_at: { type: Date, default: Date.now },
status: { type: ProductStatus, default: ProductStatus.INIT },
});
你的问题似乎有点含糊。需要更多的信息,但如果你想这样做,我建议使用。这将收集所有文档,对它们进行排序,然后根据您希望的分组方式对它们进行分组 它看起来像这样:
// Model = Product
const minMax = await Product.aggregate([
{
$match: {// filter the products}
},
{
$group: {
// Get min price
// Get max price
}
}
]);
聚合是一个需要解释的相当大的主题,但它对于收集统计信息(如最大/最小值)非常有用
显然,注释是用来指导您的,而不是聚合中的实际代码。我强烈建议你看看这个链接,如果你觉得很懒,就看看youtube上解释猫鼬聚集的视频