![](/img/trans.png)
[英]How to fetch subcollections in firestore without documentID in Swift?
[英]in Swift, how to fetch and convert Firestore timestamp field
我正在設置我的第一個 Firestore 數據庫,並且我有幾個日期字段存儲為時間戳。 在我的 swift 結構中,相應的屬性被聲明為日期。 第一個問題 - 這是正確的方法嗎? 如果是這樣,我如何獲取這些時間戳值? 我一直在努力尋找解決方案,但它似乎不是明顯的解決方案。
struct HealthLog1: Codable {
var comment: String?
var entryDate: Date?
var familyMemberID: String?
var logID: String?
var user_ID: String?
}
db.collection("healthLogs").whereField("familyMemberID", isEqualTo: person.familyMemberID!).getDocuments { (snapshot, error) in
if error == nil && snapshot != nil {
for doc in snapshot!.documents {
let log = HealthLog1(
comment: doc["comment"] as? String,
entryDate: doc["entryDate"] as? Date,
familyMemberID: doc["familyMemberID"] as? String,
logID: doc["logID"] as? String,
user_ID: doc["user_ID"] as? String)
healthLogs.append(log)
}
self.delegateHLP?.receiveLogs(healthLogs: healthLogs)
}
else {
print ("there is some error with the get documents")
}
}
}
將日期聲明為時間戳。
你的 model
class HealthLog1: Codable {
var comment: String?
var entryDate: Timestamp? //<-- Declare Timestamp
var familyMemberID: String?
var logID: String?
var user_ID: String?
}
在里面
let log = HealthLog1(
comment: doc["comment"] as? String,
entryDate: doc["entryDate"] as? Timestamp,
familyMemberID: doc["familyMemberID"] as? String,
logID: doc["logID"] as? String,
user_ID: doc["user_ID"] as? String)
如果您需要時間戳值中的日期,請使用dateValue()
:
let entryDate = log.entryDate.dateValue()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.