parse.com中的云代码不适用于所有数据

时间:2015-04-02 21:34:22

标签: javascript parse-platform cloud-code

我刚刚开始学习如何在Parse.com中修改我的数据库。我在我的Mac中使用cloud code

在我的数据库中,我获得了大约150个数据,其中包含课程openhourclosehour。不幸的是,它是用string写的。它的结构就像这个12:30

我想将所有内容从string转换为number,并将其存储在课程openHourcloseHour中。例如,我将12:30更改为string,将12.5更改为number

我已经编写了这段代码,部署它,并使用mac中的终端执行它。它似乎成功了,因为我可以看到我在班级openHourcloseHour中的一些数据被填充。

我的问题是,有几个数据仍然是空的。有人能告诉我为什么会这样吗?我错过了什么?

var _ = require('underscore.js');
Parse.Cloud.define("openclose", function(request, response) {
               Parse.Cloud.useMasterKey();
               var query = new Parse.Query("Places");
               query.limit = 1000;
               query.find().then(function(results) {
                                 _.each(results, function(result) {
                                        var openString = result.get("openhour");
                                        var openHourString = openString.slice(0,2);
                                        var openHour = Number(openHourString);

                                        var openMinuteString = openString.slice(3);
                                        var openMinute = Number(openMinuteString);

                                        result.set("openHour", openMinute/60 + openHour);

                                        var closeString = result.get("closehour");
                                        var closeHourString = closeString.slice(0,2);
                                        var closeHour = Number(closeHourString);

                                        var closeMinuteString = closeString.slice(3);
                                        var closeMinute = Number(closeMinuteString);

                                        result.set("closeHour", closeMinute/60 + closeHour);
                                        });
                                 return Parse.Object.saveAll(results);
                                 }).then(function(results) {
                                         response.success(results);
                                         }, function(error) {
                                         response.error(error);
                                         });
               });

1 个答案:

答案 0 :(得分:0)

尝试在query.find()

之前添加“return”
return query.find().then(function(results) {

另外 - 我假设你有< 1000行数据?否则,由于最大查询限制,您需要进行递归。