gcloud datastore查询,我做错了什么?

时间:2016-10-18 15:41:45

标签: coffeescript google-cloud-platform google-cloud-datastore

enter image description here

# 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

错误:

  

代码:400,元数据:元数据{_internal_repr:{}​​},消息:   ' 密钥过滤器命名空间是p-arachnid-test-ns但查询名称空间是   '

1 个答案:

答案 0 :(得分:0)

如错误消息中所述,您执行查询的命名空间与要过滤的键的命名空间不匹配。

您可以通过将命名空间添加到查询创建步骤来解决此问题,因此请更改:

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

包含可选的命名空间参数:

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