我正在尝试使用scriptDb从主函数访问全局变量到处理函数。 在documentation instructions之后,我创建了一段类似于此的代码:
function showList(arrayList) {
Logger.log("arrayList argument value = " + arrayList);
var arrayToUse = {
arrayName: 'theses',
arrayValue: arrayList,
};
var record = db.save(arrayToUse);
var scriptDbObject = db.query({arrayName: 'theses'});
var arrayList = scriptDbObject.arrayValue;
Logger.log("ShowList arrayList query value = " + arrayList);
}
但是当我尝试查询插入的项目时,它不起作用:
参数arrayList
没问题(如日志所示)。
我还尝试了其他代码,跟随我的相似 this stackoverflow question:
function showList(arrayList) {
Logger.log("arrayList argument value = " + arrayList);
var record = db.save({arrayName: "savedArray", arrayValue: arrayList});
var result = db.query({arrayName: 'thesesRequests'});
if (result.hasNext()) {
arrayList = result.next().data;
}
else {
arrayList ["empty array", "empty", "array"];
}
Logger.log("ShowList arrayList query value = " + arrayList);
我得到了同样的undefined
消息。
这里出了什么问题?
圣诞快乐,所有SoF社区的新年快乐!
答案 0 :(得分:1)
你的第一个出现在标记上,除了你执行查询时需要在结果上使用next()运算符来获取实际的dbResult条目:
function showList(arrayList) {
Logger.log("arrayList argument value = " + arrayList);
var arrayToUse = {
arrayName: 'theses',
arrayValue: arrayList,
};
var record = db.save(arrayToUse);
var scriptDbObject = db.query({arrayName: 'theses'});
if (scriptDbObject.hasNext()) {
var dbItem = scriptDbObject.next();
var dbArrayList = dbItem.arrayValue
Logger.log("ShowList arrayList query value = " + dbArrayList);
}
}