【发布时间】:2021-07-02 13:13:34
【问题描述】:
我通过 mqtt 收到以下消息:
{"7801":{"teste":"teste888"}}
我需要获取信息并在teste 字段中进行更新,例如:
colection.update({
"teste":"teste888"
})
如何直接从 JSON 格式的字符串中获取这些信息?
我的代码:
//mqtt
const mqtt = require('mqtt')
client = mqtt.connect({
host: 'xxx.xxx.xxx.xxx',
port: 1883,
username: 'xxxxxxx',
password: 'xxxxxxxx'
});
// firestore
const admin = require('firebase-admin');
const serviceAccount = require('./firestore/firestoreTeste.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
const db = admin.firestore();
//client mqtt
client.on('connect', () => {
let documents = db.collection('place2').get()
.then(snapshot => {
snapshot.forEach(doc => {
var namePlace = [];
namePlace = doc.id.toString();
client.subscribe(namePlace + "/locker/testex/update")
client.subscribe(namePlace + "/booking/testex/update")
});
});
});
client.on('message', (topic, message) => {
console.log('JSON: ', message.toString());
const namePlace = topic.split("/")[0];
console.log("Name place: ", namePlace);
const nameCol = topic.split("/")[1]
console.log("Name colection: ", nameCol)
const key = message.toString().substr(2,4);
console.log("ID: ", key);
const colection = db.collection("place2").doc(namePlace).collection(nameCol).doc(key);
const teste = JSON.parse(message)
console.log("teste: ", teste)
colection.update({
//teste
})
})
谢谢!
【问题讨论】:
-
更多信息将有助于发布完整的 Firebase 代码。
-
我发布了完整的 firebase 代码,谢谢
-
太棒了! .. 欢迎您 .. 当您发布完整代码时.. 开发人员可以查看并为您找到合适的答案 :)
标签: javascript firebase google-cloud-firestore