Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在mongodb中创建最小和最大范围过滤器_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 如何在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

如何基于特定类别的最低价格和最高价格产品表单创建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_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上解释猫鼬聚集的视频