0
私はいくつかの情報を送信するBluetoothタグのリストを持っています。私はタグのMAC(addr)ごとにコレクションを作成したいと思います。どうしたらいいですか?ここでは私が使っている設定と私が受け取っているJSONの例を示します。EVEの別のコレクション
DOMAIN = {
'ble': [
'additional_lookup': {
'url': 'regex("[\w]+")',
'field': 'name',
},
'schema': {
'address': {
'type': 'string'
},
'rssi': {
'type': 'string'
},
'name': {
'type': 'string',
'unique': True
},
'tx_power': {
'type': 'string'
},
'r_time': {
'type': 'string'
}
}
]
}
これは私が受け取るだろうとJSONの例である:
[{
"addr": "ff:ff:00:00:2a:15",
"datetime": "2016-10-06T05:19:38.+0000",
"name": "ITAG",
"rssi": -61,
"txpw": 0
}, {
"addr": "66:55:44:33:22:10",
"datetime": "2016-10-06T05:19:38.+0000",
"name": "NULL",
"rssi": -61,
"txpw": -100
},
{
"addr": "47:c9:df:25:34:b1",
"datetime": "2016-10-06T05:19:38.+0000",
"name": "NULL",
"rssi": -94,
"txpw": -100
}
]
私はフラスコのルートを試みたが、それは新しいコレクションを作成していません。ここでコード:
from eve import Eve
import Flask
app = Eve()
@app.route('/ble', methods=['POST'])
def create_ble():
data = request.get_json()
json_data = json.loads(data)
quant = len(json_data['beacon_list'])
for i in range(0, quant-1):
beacon = json_data[i]
addr = json_data[i]['addr']
beacon = json.dumps(beacon)
mongo.db[addr].insert(beacon)
return
if __name__ == '__main__':
app.run()
あなたは何をやってみましたか? – UnholySheep