我正在尝试创建一个查询,该查询将使用nodejs遍历4个集合,但是我真的不知道该怎么做。 这是集合的结构:
supplier collection
-id ObjectId
divisions Array of ObjectIds(supplierdivision)
--------------------------------
supplierdivision collection
-id ObjectId
products Array of ObjectIds(supplierproduct)
--------------------------------
supplierproduct collection
_id ObjectId
group ObjectId(productgroup)
--------------------------------
productgroup collection
_id ObjectId
status boolean
此响应将用于表,这是nodejs代码:
getData: function ($defer,params) {
var sort = _.object(_.map(params.sorting(),function (val,key) {
return [key,val === 'asc' ? 1 : -1];
}));
$scope.query = {'active': true};
var query = {
limit: params.count(),skip: (params.page() - 1) * params.count(),sort: sort,where: $scope.query
};
return rest.customGET('searchSuppliers',query)
.then(function (suppliers) {
params.total(suppliers.info.total);
return suppliers.items;
});
}
这是我应该放置该查询的地方
$scope.query = {'active': true};
但是我真的不知道它应该是什么样子
查询的想法是列出所有产品组状态为“ true”的供应商,但是对我来说,问题是数据库的这种结构,它应该首先检查所有供应商的部门,然后为每个部门检查产品,之后再检查产品它应该找到产品组和该组的状态,如果该供应商的部门的任何产品具有该组的状态,则应将其返回列表。