要使用自定义ID,您需要使用。设置
,而不是
。添加
这将创建一个ID为"LA"的文档:
db.collection("cities").doc("LA").set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
这是取自这里的官方文件
如果你使用angularfire,
class Component{
constructor(private afs: AngularFireStore) {} // imported from @angular/fire/firestore
addItem() {
this.afs.collection('[your collection]').doc('[your ID]').set({your: "document"});
}
}
为了扩展已接受的答案,如果您希望您的客户端在推送到Fi还原之前为文档生成一个随机ID(假设在AngularFire2之外存在相同的createId()
函数)
const newId = db.createId();
db.collection("cities").doc(newId).set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
这对于在另一个文档中将ID设置为引用字段非常有用,即使在Firestore保存任何内容之前也是如此。如果您不需要立即使用保存的对象,这将通过不让您等待ID来加快进程。set()
调用现在与您在Angular中可能使用的管道是异步的
注意,我没有将id:newId
放在set对象中,因为Firestore默认情况下不会将id保存为文档中的字段