Google Cloud Functions - 访问密钥的值

时间:2018-04-28 00:22:28

标签: javascript google-cloud-datastore google-cloud-functions

我正在尝试从查询数据存储区获得的值数组中返回一个值。

results [0]有这样的内容:{“prod_name”:“Muffin”,“prod_price”:3.99}。

我只想通过res.send返回:3.99

我已经尝试过结果[0] .prod_price或者结果[0] ['prod_price'],我尝试将结果[0]保存为变量并尝试返回prod_price,但没有任何效果。 任何帮助表示赞赏。

我的代码在这里:

const Datastore = require('@google-cloud/datastore');
const Storage = require('@google-cloud/storage');

// Instantiates a client
const datastore = Datastore();
const storage = new Storage();
exports.getprice = function getprice (req, res) {
  const kind = datastore.createQuery("Dialogflow");
  const filter = kind.filter("prod_name", req.body.queryResult.parameters['bakery_items']);     
  return query = datastore.runQuery(kind)
    .then( (results) => {
      const entities = results[0];
      res.setHeader('Content-Type', 'application/json'); 
      res.send(JSON.stringify({ "fulfillmentText": entities}));
    })
    .catch((err) => {
      console.error(err);
      res.status(500).send(err);
      return Promise.reject(err);
    });

};

1 个答案:

答案 0 :(得分:1)

我明白了。

实际上我保留了结果而不是强制results[0],并且意识到输出有一个额外的数组,所以要访问该值,我必须这样做:results[0][0]['prod_price']

感谢JavaScript控制台。