如果您有MessageItem/MessageData对象,则可以通过修改对象结构来始终为其添加更多属性。为了增加timestamp
到现有的数据,你可以在你的火力地堡/数据库主机直接添加它(这是一个手动的方式来做到这一点,或者只是做在像这样的代码)
let messageItem = MessageItem(text: text,
senderId: self.user.email,
senderDisplayName: false,
mediaType: "",
timestamp: "")
let messageItemRef = self.ref.child("Message")
messageItemRef.setValue(messageItem.toAnyObject())
编辑: 原来的问题没有一个MessageItem对象,以便让我们把一个在一起,使这个答案的工作:
在你的viewController类(或任何顶级类),我们需要实现一个MessageItem类对象这样
class MessageItem {
var text = ""
var senderId = ""
var senderDisplayName = false
var mediaType = ""
var timestamp = ""
init(text: String, senderId: String, senderDisplayName: Bool, mediaType: String, timestamp: String) {
self.text = text
self.senderId = senderId
self.senderDisplayName = senderDisplayName
self.mediaType = mediaType
self.timestamp = timestamp
}
func toAnyObject() -> Any {
return [
"text": text,
"senderId": senderId,
"senderDisplayName": senderDisplayName,
"mediaType": mediaType,
"timestamp": timestamp
]
}
}
是否要更新现有的节点?或只是在新的? –
Firebase中没有表格,只有节点(父节点和子节点)。如果你想写一个新的节点,它会是childNode.setValue(“timestamp”)。 childNode将在代码中定义为parentNode.child(“child_node”),或者在您的情况下为messagesSentRef.child(“Messages”)。childByAutoId()。setValue(“timestamp”) – Jay