Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Google数据存储查询NodeJS应用程序如何获取实体ID_Node.js_Google App Engine - Fatal编程技术网

Node.js Google数据存储查询NodeJS应用程序如何获取实体ID

Node.js Google数据存储查询NodeJS应用程序如何获取实体ID,node.js,google-app-engine,Node.js,Google App Engine,我有一个使用Google数据存储的NodeJS应用程序。我设置了一个基本查询,它可以从数据库返回数据 问题:如何检索返回的每个实体的ID?我需要结果集中的ID,以便它可以在UI上显示给用户 这里是到目前为止的NodeJS查询。我能够获取整个密钥,但如何从查询结果中仅获取ID NodeJS: const treq_history = datastore.createQuery('TransferRequest'); //Set query conditions treq_history

我有一个使用Google数据存储的NodeJS应用程序。我设置了一个基本查询,它可以从数据库返回数据

问题:如何检索返回的每个实体的ID?我需要结果集中的ID,以便它可以在UI上显示给用户

这里是到目前为止的NodeJS查询。我能够获取整个密钥,但如何从查询结果中仅获取ID

NodeJS:

  const treq_history = datastore.createQuery('TransferRequest');
  //Set query conditions
  treq_history.filter('requester', 'test');
  //Run datastore query
  datastore.runQuery(treq_history, function(err, entities) {
    if(err) {
      console.log('Transfer Request History JSON unable to return data results for File Path. Error message: ', err);
      return;
      //If query works and returns any entities
    } else if (entities[0]) {
      //Access the Key object for an entity.
      var firstEntityKey = entities[0][datastore.KEY];

      console.log('Entity key: ', firstEntityKey);
      console.log('Entity data: ' + JSON.stringify(entities[0]));

      res.json(entities);
      return;
    } else {
      //Else if query works but does not return any entities return an empty object in JSON response
      res.json('{}');
      return;
    }
  });
控制台输出:

Entity key  Key {
  namespace: undefined,
  id: '5658319839738991',
  kind: 'TransferRequest',
  path: [Getter] }
Entity data: {"transfer_request_status":"Processing","created_datetime":1509395305624,"requester":"test","dataowner":"example"}
更新:

我可以使用密钥访问ID:

entities[0][datastore.KEY]['id']

不幸的是,我无法执行相同的操作:(
err=TypeError:Cannot read undefined
@cmag的属性'id',根据该错误消息,您尝试读取的实体似乎未定义。打印您尝试读取的实体的字符串表示形式,以确保它已定义。console.log('Entity data:'+JSON.stringify(entities[0]));当您确认已定义它时,请获取如下密钥entities[0][datastore.key]['id']。希望这对您有所帮助。