本文介绍了ionic firestore提交数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在Firestore中提交一些数据,但显示出错误.
I am trying to submit some data in firestore but its showing me error.
FirebaseError: Function CollectionReference.doc() requires its first argument to be of type string, but it was: undefined.
installment.html
installment.html
<ion-content>
<div [ngSwitch]="galleryType">
<ion-card *ngSwitchCase="'Form'">
<ion-item>
<ion-label floating>Name</ion-label>
<ion-input type="text" [(ngModel)]="name">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Address</ion-label>
<ion-input type="text" [(ngModel)]="address">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>CNIC</ion-label>
<ion-input type="number" [(ngModel)]="cnic">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Email</ion-label>
<ion-input type="email" [(ngModel)]="email">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Phone number </ion-label>
<ion-input type="number" pattern="^([+]92[0-9]{10}|[0-9]{11})$" [(ngModel)]="number">
</ion-input>
</ion-item>
<br>
<ion-item>
<ion-label>City</ion-label>
<ion-select [(ngModel)]="city">
<ion-option value="karachi">Karachi</ion-option>
<ion-option value="Lahore">Lahore</ion-option>
<ion-option value="Multan">Multan</ion-option>
<ion-option value="islamabad">Islamabad</ion-option>
</ion-select>
</ion-item>
<ion-item>
<ion-label floating>Profession</ion-label>
<ion-input type="text" [(ngModel)]="profession">
</ion-input>
</ion-item>
<br>
<ion-item>
<ion-label >Select a Bank</ion-label>
<ion-select [(ngModel)]="bank">
<ion-option value="HBL">HBL</ion-option>
<ion-option value="Al Habib">Al Habib</ion-option>
<ion-option value="SCB">SCB</ion-option>
<ion-option value="BI">Bank Islami</ion-option>
</ion-select>
</ion-item>
<button style="display:block;margin: 16px auto;" ion-button no-padding (click)="gotoDate()"><img class="tick" src="assets/image/tick.png"></button>
</ion-card>
<ion-card *ngSwitchCase="'Date'">
<ion-item>
<ion-label floating>Guarantor 1 Name </ion-label>
<ion-input type="text" [(ngModel)]="g1name" >
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Phone number </ion-label>
<ion-input type="number" pattern="^([+]92[0-9]{10}|[0-9]{11})$" [(ngModel)]="g1number">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Address </ion-label>
<ion-input type="text" [(ngModel)]="g1address">
</ion-input>
</ion-item>
<br>
<ion-item>
<ion-label>City</ion-label>
<ion-select [(ngModel)]="g1city">
<ion-option value="karachi">Karachi</ion-option>
<ion-option value="lahore">Lahore</ion-option>
<ion-option value="multan">Multan</ion-option>
<ion-option value="islamabad">Islamabad</ion-option>
</ion-select>
</ion-item>
<br>
<ion-item>
<ion-label floating>Guarantor 2 Name </ion-label>
<ion-input type="text" [(ngModel)]="g2name">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Phone number </ion-label>
<ion-input type="text" pattern="^([+]92[0-9]{10}|[0-9]{11})$" [(ngModel)]="g2number">
</ion-input>
</ion-item>
<ion-item>
<ion-label floating>Address </ion-label>
<ion-input type="text"[(ngModel)]="g2address" >
</ion-input>
</ion-item>
<br>
<ion-item>
<ion-label>City</ion-label>
<ion-select [(ngModel)]="g2city">
<ion-option value="karachi">Karachi</ion-option>
<ion-option value="lahore">Lahore</ion-option>
<ion-option value="multan">Multan</ion-option>
<ion-option value="islamabad">Islamabad</ion-option>
</ion-select>
</ion-item>
<button style="display:block;margin: 16px auto;" ion-button no-padding><img class="tick" src="assets/image/tick.png" (click)="submit(name, address, cnic, email, number, city, profession, bank, g1name, g1number, g1address, g1city, g2name, g2address, g2number, g2city) "></button>
</ion-card>
</div>
</ion-content>
.ts
submit(name, address, cnic, email, number, city, profession, bank, g1name,
g1number, g1address, g1city, g2name, g2address, g2number, g2city) {
if (this.name == "") {
console.log('empty');
return;
} else {
let deal = {
name: this.name,
address: this.address,
cnic: this.cnic,
email: this.email,
number: this.number,
city: this.city,
profession: this.profession,
bank: this.bank,
// Guarantor1name: this.g1name,
g1number: this.g1number,
g1address: this.g1address,
g1city: this.g1city,
//Guarantor2name: this.g2name,
g2number: this.g2number,
g2address: this.g2address,
g2city: this.g2city,
}
this.afs.collection('installment').doc().set(deal);
let alert = this.alertCtrl.create({
title: "ATTENTION",
subTitle: "Done",
buttons: ['OK']
});
alert.present();
}
}
我需要将数据发送到Firestore.有人可以告诉我如何发送吗?
I need to send the data to firestore. Any one can please tell me how can I send it?
推荐答案
看起来您正在尝试创建一个新文档,但是当前,您的代码未设置要创建的文档ID.一个建议是让Cloud Firestore使用自动ID.
Looks like you are trying to create a new document, but currently, your code doesn't set a document id to be created. One suggestion is to just let Cloud Firestore use an auto id.
为此,请更改此行:
this.afs.collection('installment').doc().set(deal);
对此:
this.afs.collection('installment').add(deal);
这篇关于ionic firestore提交数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!