我刚刚开始学习如何在Parse.com中修改我的数据库。我在我的Mac中使用cloud code
。
在我的数据库中,我获得了大约150个数据,其中包含课程openhour
和closehour
。不幸的是,它是用string
写的。它的结构就像这个12:30
。
我想将所有内容从string
转换为number
,并将其存储在课程openHour
和closeHour
中。例如,我将12:30
更改为string
,将12.5
更改为number
。
我已经编写了这段代码,部署它,并使用mac中的终端执行它。它似乎成功了,因为我可以看到我在班级openHour
和closeHour
中的一些数据被填充。
我的问题是,有几个数据仍然是空的。有人能告诉我为什么会这样吗?我错过了什么?
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);
});
});
答案 0 :(得分:0)
尝试在query.find()
之前添加“return”return query.find().then(function(results) {
另外 - 我假设你有< 1000行数据?否则,由于最大查询限制,您需要进行递归。