У меня есть коллекция простых объектов Java (токенов устройств с устройства Android), хранящихся в виде документов в Firebase:
public class DeviceToken {
String tokenID;
public DeviceToken() {
}
public DeviceToken(String tokenID) {
this.tokenID = tokenID;
}
public String getTokenID() {
return tokenID;
}
public void setTokenID(String tokenID) {
this.tokenID = tokenID;
}
}
I ![enter image description here](https://i.stack.imgur.com/UzIJD.png)
Я пытаюсь получить дочерний объект tokenID
этого объекта в виде строки в javascript для следующей облачной функции:
exports.sendDMNotification = functions.firestore.document('/dm_threads/{thread_id}/messages/{message_id}')
.onCreate((snapshot, context) => {
const newMessage = snapshot.data();
const senderName = newMessage.authorName;
const senderID = newMessage.authorUID;
const messageText = newMessage.message;
const recipientName = newMessage.recipientName;
const recipientID = newMessage.recipientUID;
const timestamp = newMessage.timestamp;
let deviceTokenQuery = admin.firestore().collection(`/users/${recipientID}/device_tokens/`);
return deviceTokenQuery.get().then(querySnapshot => {
let tokenShapshot = querySnapshot.docs;
const notificationPromises = tokenShapshot.map(token => {
let token_id = token['tokenID'];
console.log(token_id);
console.log(token)
console.log(JSON.stringify(token));
const payload = {
notification: {
title: senderName,
body: messageText,
icon: "default"
}
};
return admin.messaging().sendToDevice(token_id, payload)
});
return Promise.all(notificationPromises);
});
});
Первый оператор журнала возвращает неопределенное значение, второй возвращает [объектный объект] и третийвозвращает то, что кажется набором метаданных, ссылкой на документ, но ни одним из свойств объекта, как я его использую.Как мне просто извлечь этого tokenID
потомка объектных документов, которые я получаю?