【发布时间】:2018-02-03 12:46:41
【问题描述】:
我是 NodeJS 和 Mongoose 的新手,我正在尝试做一些高级查询。
我有三个文档(类别、子类别和产品)
Category.js
var mongoose = require('mongoose');
var CategorySchema = new mongoose.Schema({
name: { type: String, required: true }
});
mongoose.model('Category', CategorySchema);
module.exports = mongoose.model('Category');
Subcategory.js
var mongoose = require('mongoose');
var SubcategorySchema = new mongoose.Schema({
name: { type: String, required: true },
image: { type: Buffer, contentType: String },
idcategory: { type: mongoose.Schema.Types.ObjectId, ref: 'Category' }
});
mongoose.model('Subcategory', SubcategorySchema);
module.exports = mongoose.model('Subcategory');
Product.js
var mongoose = require('mongoose');
var ProductSchema = new mongoose.Schema({
name: { type: String, required: true },
idsubcategory: { type: mongoose.Schema.Types.ObjectId, ref: 'Subcategory', required: true },
price: { type: Number, required: true }
});
mongoose.model('Product', ProductSchema);
module.exports = mongoose.model('Product');
因此,产品有一个子类别,子类别具有一个类别。 由于我有这种结构,我想按类别计算我的产品。例如
[
{ "categoryName": "cat1": quantity: 10 },
{ "categoryName": "cat2": quantity: 5 },
{ "categoryName": "cat3": quantity: 2 }
]
我已经尝试了 $lookup 与 $group 没有成功,因为我根本不了解聚合。
猫鼬:“4.11.6”
【问题讨论】:
标签: node.js mongoose aggregate lookup