在 Cloud Firestore 建立資料

官方文件

新增 document

呼叫 addDocument 新增 document,document ID 由 Firestore 自動產生。

let db = Firestore.firestore()
let data: [String: Any] = ["name": "可惜沒如果", "singer": "林俊傑", "rate": 5]
var reference: DocumentReference?
reference = db.collection("songs").addDocument(data: data) { (error) in
   if let error = error {
      print(error)
   } else {
      print(reference?.documentID)
   }
}

新增 document 時直接指定 document ID,比方以下例子的林俊傑。

let db = Firestore.firestore()
let data = ["gender": "男"]
db.collection("music").document("林俊傑").setData(data) { (error) in
   if let error = error {
      print(error)
   }
}

更新修改 document

利用 DocumentReference 的 updateData 更新。

let db = Firestore.firestore()
db.collection("songs").whereField("name", isEqualTo: "可惜沒如果").getDocuments { (querySnapshot, error) in
   if let querySnapshot = querySnapshot {
      let document = querySnapshot.documents.first
      document?.reference.updateData(["singer": "彼得潘"], completion: { (error) in
      })
   }
}

新增 collection

範例: 新增 collection albums, albums 裡有個叫樂行者的 document。

let db = Firestore.firestore()
let data = ["date": Date()]
db.collection("music").document("林俊傑").collection("albums").document("樂行者").setData(data) { (error) in
   if let error = error {
      print(error)
   }
}