2012-08-08 97 views
0

作为一种学习练习,我试图查询ScriptDb并在我的脚本具有其电子邮件地址时返回一个人的姓名。下面的函数返回“ScriptDbResult”而不是正确的名称(应该是Patrick Farmer - 请参阅函数下面的列表)。有人可以告诉我做错了什么吗?如何从ScriptDB数据库检索特定数据?

function getNameFromDb() { 
var email = "[email protected]"; 
var db = ScriptDb.getMyDb(); 
var result = db.query(
    {Names: {Emails: email}}); 
Logger.log(result); 
} 

这是记录器显示的是在数据库:

{ 
    "Emails": "[email protected]", 
    "Names": "Luca Jenkins" 
} 
{ 
    "Emails": "[email protected]", 
    "Names": "Patrick Farmer" 
} 
{ 
    "Emails": "[email protected]", 
    "Names": "Elizabeth Jennings" 
} 
{ 
    "Emails": "[email protected]", 
    "Names": "Gabriel Ryan" 
} 

回答

2

你几乎没有。你的确得到一个ScriptDBResult对象。你需要使用下一种方法得到结果

while (result.hasNext()){ 
    var obj = result.next(); 
    Logger.log(obj.Names); 
    Logger.log(obj.Emails); 
} 
+0

感谢这样一个快速反应斯里克。我收到了一条错误消息,但是当我从'var result = db.query( {姓名:{电子邮件:电子邮件}})更改我的查询时;''到'var result = db.query( {Emails:email});'它工作得很好。 – fullOfGAS 2012-08-08 18:27:35