1

enter image description heregcloud數據存儲查詢,我做錯了什麼?

# initiating Datastore client 
datastore = Datastore() 

# initiating datastore Key 
keyString = datastore.key { 
    namespace: 'p-arachnid-test-ns' 
    path: ['usertable', 234567] 
    } 

# Check Login Credentials 
checkLoginCredentials = (requestedEmail, requestedPassword) -> 
    query = datastore.createQuery('test-task') 
    .filter('__key__', '=', keyString) 
    .filter('email', '=', requestedEmail) 

    datastore.runQuery query, (err, tasks) -> 
    if !err 
     console.log "query success" 
     console.log tasks 
     return true 
    else 
     console.log err 
     return false 

錯誤:

code: 400, metadata: Metadata { _internal_repr: {} }, message: 'key filter namespace is p-arachnid-test-ns but query namespace is '

回答

0

如在錯誤消息中所描述的,您有是關鍵的名稱空間您正在執行該查詢中的命名空間之間的失配,並過濾。

您可以通過添加命名空間到查詢創建步驟解決這個問題,所以更改:

query = datastore.createQuery('test-task') 

包括可選的命名空間參數:

query = datastore.createQuery('p-arachnid-test-ns', 'test-task') 
+0

丹嗨,你似乎在做很多的標籤編輯會導致在最近的活動GAE問題列表中引起流失,這可能是可以避免的。我建議在SO元上問一個問題,確切地說明你正在嘗試做什麼標籤管理操作,可能有更好的方法來實現它。例如,請參閱https://meta.stackexchange.com/questions/70710/what-are-tag-synonyms-and-merged-tags-how-do-they-work –

+1

嗨丹!我們已經嘗試過這條路,但沒有成功。 19 Upvotes並且尚未採取行動:https://meta.stackoverflow.com/questions/285879/merge-request-for-google-cloud-datastore-gae-datastore-google-datastore,所以我在審覈/回答問題,我在糾正標籤。想要獲得關聯的Meta問題的牽引力。 –