我正在尝试从查询数据存储区获得的值数组中返回一个值。
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);
});
};
答案 0 :(得分:1)
我明白了。
实际上我保留了结果而不是强制results[0]
,并且意识到输出有一个额外的数组,所以要访问该值,我必须这样做:results[0][0]['prod_price']
感谢JavaScript控制台。