【发布时间】:2018-04-04 16:01:14
【问题描述】:
我将数据存储在 DynamoDb 表中。我有 3 列:
hub_id(编辑:primary 分区键)
on_time(排序键 - 这是存储为字符串的日期时间)
详细信息这包含我的 JSON 数据(来自传感器的信息):
{“hub_id”:{“S”:“PnKVrm12”},“温度”:{“S”:“23”},“传感器名称”:{“S”:“技术实验室”}}
使用 react-native 和 aws amplify 我可以使用以下代码查询表并返回正确的行数:
// setup query params
var params = {
TableName : "hiddenprojectv-mobilehub-1542262168-hidden",
ProjectionExpression:"hub_id, details.temperature, details.sensor_name",
KeyConditionExpression: "hub_id = :hid",
ExpressionAttributeValues: {
":hid":"PnKVrm12"
}
};
//execute query using params
db.query(params, function(err, data) {
if (err) {
console.log("Unable to query. Error:", JSON.stringify(err, null, 2));
} else {
console.log("Query succeeded.");
data.Items.forEach(function(details) {
console.log(details.hub_id,details.sensor_name);
});
}
});
但我正在努力获取 Json 对象(详细信息列)中保存的数据。上面的查询返回:
16:44:45:PnKVrm12 未定义
我预计它会返回:
16:44:45:PnKVrm12 技术实验室
由于某种原因,我永远无法访问温度或传感器名称中的数据。
如果您有时间,我将不胜感激。
【问题讨论】:
-
details.hub_id不可能以给定的数据结构返回PnKVm12。解释一下? -
console.log(data)在回调函数中并与我们分享。 -
按要求截取 console.log(data):pastebin.com/mXaE1Zaq
-
对。
hub_id是详细信息,但sensor_name是details.details。 -
完美!感谢您的帮助。
标签: javascript json react-native amazon-dynamodb