您好我需要使用一个查询进行此操作。 在我的产品架构中,我已经定义了与类别的多对多关系,所以我有类似的东西
categories: [{type: Schema.Types.ObjectId, ref: 'Category'}]
类别可以有子类别,所以我在我的类别模式
中有这个 parent: {type: Schema.Types.ObjectId, ref: 'Category', default:null}
我想进行查询以获取类别中的产品及其下的所有子类别,并且我只有父类别ID。
这就是我现在所拥有的,但我希望有一个查询
var findProductsByCategories = function (ids) {
var promise = Product.find({categories: {$in: ids}}).exec();
promise.then(function (products) {
res.send(products);
});
}
// Get this category children
var promise = Category.find({parent: req.params.category}).select('_id').exec();
promise.then(function (children_ids) {
// Add the parent id as well
children_ids.push(req.params.category);
return children_ids;
}).then(findProductsByCategories);