【发布时间】:2015-10-21 08:25:27
【问题描述】:
我已经解决这个问题很长时间了,我想我有点放弃了,现在来这里问问。我有一个云代码功能,它首先让我得到一个类别列表。每个类别都有多个产品。这种一对多的关系是使用指针来实现的,其中每个产品都指向它所属的类别。但是我无法检索任何产品。
这是我的代码,
Parse.Cloud.define("GetCategories", function(request, response) {
var _ = require('underscore.js')
var MSTCATEGORY_CLASS = "MSTCategory";
var MSTPRODUCT_CLASS = "MSTProduct";
var CATEGORY_TAG = "Category";
var SHOP_TAG = "Shop";
var VIEWS_TAG = "Views";
var CAT_LIMIT = 10;
var PROD_LIMIT = 5;
var productList = [];
var CatAndProd = [];
var MSTCategory = Parse.Object.extend(MSTCATEGORY_CLASS);
var query = new Parse.Query(MSTCategory);
query.limit(CAT_LIMIT);
query.find().then(function(results) {
var promise = Parse.Promise.as();
_.each(results, function(result) {
promise = promise.then(function() {
var MSTProduct = Parse.Object.extend(MSTPRODUCT_CLASS);
var ProdQuery = new Parse.Query(MSTProduct);
ProdQuery.equalTo(CATEGORY_TAG, result);
ProdQuery.include(CATEGORY_TAG);
ProdQuery.include(SHOP_TAG);
ProdQuery.descending(VIEWS_TAG);
ProdQuery.limit(PROD_LIMIT);
var category = result;
ProdQuery.find().then(function(ProdResults){
ProdResults.forEach(function(product) {
productList.push(product);
});
var singleItem = {
"category" : category,
"products" : productList
};
CatAndProd.push(singleItem);
return Parse.Promise.as("Hello!");
});
});
});
return promise;
}).then(function(hello) {
var jsonObject = {
"categoryAndProducts": CatAndProd
};
response.success(jsonObject);
});
});
我想要做的是在获得类别后,我会在其中获取产品,将它们添加到 jsonObject。一旦我完成了所有类别。我将创建一个数组来携带所有这些 json 对象并将其作为响应发送。这真的很基本,我很确定这已经成为我的逻辑不正确。我是 Javascript 和 Parse 的新手。
【问题讨论】:
-
您在浏览器控制台中看到任何错误吗?
标签: javascript parse-platform promise parse-cloud-code