Javascript 获取firestore文档的新id以将其添加到文档本身
根据文档,应该可以获取尚未创建的firestore文档的id,将其添加到要保存的对象中,然后按如下方式保存:Javascript 获取firestore文档的新id以将其添加到文档本身,javascript,firebase,google-cloud-firestore,angularfire2,Javascript,Firebase,Google Cloud Firestore,Angularfire2,根据文档,应该可以获取尚未创建的firestore文档的id,将其添加到要保存的对象中,然后按如下方式保存: // Add a new document with a generated id. var newCityRef = db.collection("cities").doc(); // later... newCityRef.set(data); 在我的应用程序中,我使用以下代码遵循此模式: async createNewProject(projectObject : Pro
// Add a new document with a generated id.
var newCityRef = db.collection("cities").doc();
// later...
newCityRef.set(data);
在我的应用程序中,我使用以下代码遵循此模式:
async createNewProject(projectObject : Project) : Promise<boolean> {
let doc = this.firestore.collection("projects").doc();
projectObject.id = doc.ref.id;
try {
await doc.set(projectObject);
} catch(err) {
console.error(err);
return false;
}
return true;
}
async createNewProject(projectObject:Project):Promise{
让doc=this.firestore.collection(“projects”).doc();
projectObject.id=doc.ref.id;
试一试{
等待单据集(projectObject);
}捕捉(错误){
控制台错误(err);
返回false;
}
返回true;
}
但当它运行时,控制台中出现错误:
FirebaseError:函数CollectionReference.doc()要求其第一个参数的类型为非空字符串,但它是:未定义
有人能解释一下吗?我看到她身边的其他人引用了这个方法(使用没有参数的doc方法作为问题的解决方案,但其他人看到了这个错误。这是API的角度实现上的某种API,还是firebase方面的问题(或者我做错了什么?)该方法返回一个属性,该属性没有ref
属性,但有一个id
属性。因此,您需要执行以下操作:
projectObject.id = doc.id;
而不是
projectObject.id = doc.ref.id;
该方法返回一个,它没有ref
属性,但有一个id
属性。因此,您需要执行以下操作:
projectObject.id = doc.id;
而不是
projectObject.id = doc.ref.id;
你能展示一下
这个.firestore
是如何初始化的吗?你能展示一下这个.firestore
是如何初始化的吗?@user1023110你好,你有机会看看提议的答案吗?@user1023110你好,你有机会看看提议的答案吗?