在 Parse Cloud Code 中循环访问用户信息
Looping through user info in Parse Cloud Code
我刚刚熟悉 Parse 的云代码,但在执行一项基本任务时遇到了一些麻烦:为登录用户循环遍历数组字段之一(称为 "newsFeed")。这是我得到的:
解析代码:
Parse.Cloud.define("unseenItems", function(request, response) {
// Get list of all news items for current user
var user = Parse.User.current();
var newsFeed = user.get("newsFeed");
// Loop through news items and count number of unseen items
// ("unseen" is a key for the array object, the value is 0 or 1)
var sum = 0;
for (var i = 0; i < newsFeed.length; i++) {
sum += newsFeed[i].get("unseen");
}
console.log(sum);
// Return sum of unseen items
response.success(sum);
});
数据结构
newsFeed 是一个字典数组,这里是一个示例:
[{"date":<date info>,
"text":"Sample text",
"seen":0},
{"date":<date info>,
"text":"More sample text",
"seen":1}]
Objective-C代码
[PFCloud callFunctionInBackground:@"unseenItems"
withParameters:@{}
block:^(NSNumber *result, NSError *error) {
if (!error){
self.unseenItems=[result intValue];
}
}];
这是我在 XCode 中遇到的错误:Error: TypeError: Object #<Object> has no method 'get' at main.js:84:24 (Code: 141, Version: 1.5.0)
任何关于从这里去哪里的指示都会很棒。感谢阅读!
您好像在说 newsFeed 是一个整数数组,例如 [0, 1, 0, 0, 1]
。如果是这样,那么修复很容易
sum += newsFeed[i]; // no "get" needed on an array of ints
好的,错误只是在基本 JavaScript 用法中。要进入数组内的字典,这是有效的:
for (var i = 0; i < newsFeed.length; i++) {
sum += newsFeed[i]["unseen"];
}
我刚刚熟悉 Parse 的云代码,但在执行一项基本任务时遇到了一些麻烦:为登录用户循环遍历数组字段之一(称为 "newsFeed")。这是我得到的:
解析代码:
Parse.Cloud.define("unseenItems", function(request, response) {
// Get list of all news items for current user
var user = Parse.User.current();
var newsFeed = user.get("newsFeed");
// Loop through news items and count number of unseen items
// ("unseen" is a key for the array object, the value is 0 or 1)
var sum = 0;
for (var i = 0; i < newsFeed.length; i++) {
sum += newsFeed[i].get("unseen");
}
console.log(sum);
// Return sum of unseen items
response.success(sum);
});
数据结构
newsFeed 是一个字典数组,这里是一个示例:
[{"date":<date info>,
"text":"Sample text",
"seen":0},
{"date":<date info>,
"text":"More sample text",
"seen":1}]
Objective-C代码
[PFCloud callFunctionInBackground:@"unseenItems"
withParameters:@{}
block:^(NSNumber *result, NSError *error) {
if (!error){
self.unseenItems=[result intValue];
}
}];
这是我在 XCode 中遇到的错误:Error: TypeError: Object #<Object> has no method 'get' at main.js:84:24 (Code: 141, Version: 1.5.0)
任何关于从这里去哪里的指示都会很棒。感谢阅读!
您好像在说 newsFeed 是一个整数数组,例如 [0, 1, 0, 0, 1]
。如果是这样,那么修复很容易
sum += newsFeed[i]; // no "get" needed on an array of ints
好的,错误只是在基本 JavaScript 用法中。要进入数组内的字典,这是有效的:
for (var i = 0; i < newsFeed.length; i++) {
sum += newsFeed[i]["unseen"];
}