Firebase 使用dialogflow从数据存储中读取数据

Firebase 使用dialogflow从数据存储中读取数据,firebase,google-cloud-firestore,integration,dialogflow-es,datastore,Firebase,Google Cloud Firestore,Integration,Dialogflow Es,Datastore,我正在做一个类似于helpdesk(Dialogflow-inlineEditor)的聊天机器人。我能够写入数据存储,但我面临一些数据读取问题,这是查找用户ID的基本操作,但代码尚未启动-请在下面提供帮助代码 const Datastore = require('@google-cloud/datastore'); const datastore = new Datastore({ projectId: 'bot-datastore-mnddjv' }); function

我正在做一个类似于helpdesk(Dialogflow-inlineEditor)的聊天机器人。我能够写入数据存储,但我面临一些数据读取问题,这是查找用户ID的基本操作,但代码尚未启动-请在下面提供帮助代码

const Datastore = require('@google-cloud/datastore');
const datastore = new Datastore({
  projectId: 'bot-datastore-mnddjv'
});


      function write(agent) {
        var name = agent.parameters.name;
        var sur = agent.parameters.sur;
        var uid = agent.parameters.uid;
        const taskKey = datastore.key('Key');
        const entity = {
          key: taskKey,
          data: {
            name: name,
            sur: sur,
            uid: uid
          }
        };
        return datastore.save(entity).then(() => {
          console.log(`Saved ${entity.key.name}: ${entity.data.item_name}`);
          agent.add(`Stored ${name},${sur}`); -----> That part is working

        });
      }

      function read(agent){
        const query = datastore.createQuery('Key').filter('name');

        return datastore.runQuery(query).then(() =>{
          const sortA = query.order('name');
          const sortD = query.order('name',( {descending:true})); 
          agent.add("Scores: ",sortA); ----//  This funcion is not working 
        });
      }   

  let intentMap = new Map();
  intentMap.set('Default Welcome Intent', welcome);
  intentMap.set('Default Fallback Intent', fallback);
  intentMap.set('Zapis', write);
  intentMap.set('Odczyt', read);

  agent.handleRequest(intentMap);
});

问题似乎出在您对
filter()
的使用上

您需要使用诸如=、>等运算符。因此,如果满足该条件,查询将运行

下面是来自的示例代码


您能否更新您的问题,以显示您是如何声明
数据存储的
,以及您可能要导入的任何库?不清楚您使用的是哪种“数据存储”,也不清楚其确切配置。您提供的信息越多,我们就越有可能提供帮助。感谢您的快速审阅,代码已更新。
const query = datastore
  .createQuery('Task')
  .filter('done', '=', false)
  .filter('priority', '>=', 4)
  .order('priority', {
    descending: true,
  });