我想要做的是创建一个MComparisonArray对象,其Name
属性为MatchCenter
,MCItems
数组属性等于eBayResults
数组,并且具有此对象的parent
属性是指向创建它的User
对象的指针,这样每个User
都有自己的特定MComparisonArray
对象与其帐户相关联。
当我尝试在下面执行此操作时,它会给出一个错误,指出User
未定义,正如我预期的那样。我不确定如何形成语法告诉Parse使对象的父属性成为User
的指针。
我知道如果我想在iOS应用程序中执行此操作,我会执行('parent', Parse.User.current())
,但在后台作业中不存在Parse.User.current
这样的事情。
主要承诺链:
Parse.Cloud.job("MatchCenterBackground", function(request, status) {
//code to setup usersQuery ...
var usersQuery = new Parse.Query(Parse.User);
return usersQuery.each(function (user) {
return processUser(user).then(function(eBayResults){
return matchCenterComparison(eBayResults);
});
});
});
来自matchCenterComparison
功能的代码段
var newMComparisonArray = new mComparisonArray();
newMComparisonArray.set('Name', 'MatchCenter');
newMComparisonArray.set('MCItems', eBayResults);
newMComparisonArray.set('parent', Parse.User);
// Save updated MComparisonArray
newMComparisonArray.save().then({
success: function() {
console.log('MComparisonArray successfully created!');
},
error: function() {
console.log('nah no MComparisonArray saving for you bro:' + error);
}
});
答案 0 :(得分:2)
您的外部范围内有用户,但您没有将其传递给该功能。
更改您的调用代码以传递当前用户:
return matchCenterComparison(user, eBayResults);
更新您的函数定义以接受用户作为第一个参数:
function matchCenterComparison(parentUser, eBayResults) {
// ...
}
然后将该用户用于父级:
newMComparisonArray.set('parent', parentUser);
答案 1 :(得分:0)
如果添加主密钥,它是否有效? Parse.Cloud.useMasterKey()
Parse.Cloud.job("MatchCenterBackground", function(request, status) {
//code to setup usersQuery ...
Parse.Cloud.useMasterKey();
var usersQuery = new Parse.Query(Parse.User);
return usersQuery.each(function (user) {
return processUser(user).then(function(eBayResults){
return matchCenterComparison(eBayResults);
});
});
});