是否有可能以某种方式在InfluxDB中将列表作为值插入?这是json:
json_body = [
{
"measurement":"devices",
"tags":{
"host":"server01",
"region":"us-west"
},
"fields": {
"device":1234,
"coord":[60.177751,24.913778],
"local":[[244,5,'232E','F27B',23],[244,5,'232F','76FE',9]]
}
}
]
替代方法是使用列表的字符串表示,但我必须将其转换为如下所示的列表,这很好。
ast.literal_eval(device_points [0] [' local'])
这是带有字符串表示的json对象:
json_body = [
{
"measurement":"devices",
"tags":{
"host":"server01",
"region":"us-west"
},
"fields": {
"device":1234,
"coord":"[60.177751,24.913778]",
"local":"[[244,5,'232E','F27B',23],[244,5,'232F','76FE',9]]"
}
}
]
client.write_points(json_body)
query = 'select local from devices;'
print("Querying data: " + query)
result = client.query(query)
device_points = list(result.get_points(measurement='devices'))
还有其他方法可以直接编写列表吗?
谢谢!
答案 0 :(得分:0)
没有办法将列表存储为InfluxDB中的字段。常见的解决方法是将矢量分量分成单个字段。
答案 1 :(得分:0)
你可以将列表存储为一个字符串,但之后你就没有任何方法可以操作它了,因为在字符串操作中,flowxdb相当差,并且缺少从字符串中提取信息并将它们转换为字段的方法。
所以是的,如果你想坚持使用Influxdb,上面将它分成字段的建议可能是你最好的选择。