上週我想問問任何人是否有ScriptDB類型對等問題。 7月10日,當我執行有關數字值的查詢時,只有具有數值的查詢返回正確的結果。在文檔中說:ScriptDB類型等效問題
這意味着如果你有一個數值對象,你可以查詢字符串版本相同。例如,如果您存儲 對象{a:23},則可以在{a:「23」}上查詢,而ScriptDb將查找 上一個對象。
但是,帶字符串參數的查詢的後一版本沒有返回任何內容。 現在看起來沒問題,兩個版本都按預期工作。
最近有沒有人注意到同樣的問題?
上週我想問問任何人是否有ScriptDB類型對等問題。 7月10日,當我執行有關數字值的查詢時,只有具有數值的查詢返回正確的結果。在文檔中說:ScriptDB類型等效問題
這意味着如果你有一個數值對象,你可以查詢字符串版本相同。例如,如果您存儲 對象{a:23},則可以在{a:「23」}上查詢,而ScriptDb將查找 上一個對象。
但是,帶字符串參數的查詢的後一版本沒有返回任何內容。 現在看起來沒問題,兩個版本都按預期工作。
最近有沒有人注意到同樣的問題?
有一個登錄問題與索引和解決在您注意的日子通過整數值搜索有關。
問題跟蹤器中提出了一個解決方案。
https://code.google.com/p/google-apps-script-issues/issues/detail?id=2999
感謝您的耐心;我們相信潛在的問題現在已經解決。但是,我們沒有追溯修復您在過去兩天內可能保存或重新保存的任何數據。您在此期間保存的任何數據都會安全存儲,但如果數據類型不完全匹配,則對這些對象的查詢仍然會失敗。例如,屬性{id:4074}將匹配{id:4074}(number),但不匹配{id:'4074'}(字符串)或{id:true}(布爾測試)。
如果您需要查詢從最近兩天的數據沒有數據類型精確匹配,則需要重新保存由ScriptDb中檢索它們和重寫他們的地方,使用類似下面的示例函數中的記錄:
function resaveRecords() {
var db = ScriptDb.getMyDb();
var records = db.query({}); // get all records
while (records.hasNext()) { // loop through records
var item = records.next();
db.save(item); // resave with the same ScriptDb ID
}
}