어떻게 "참조" 값을 소방서에 삽입합니까?
컬렉션에 문서를 삽입하려고 합니다.문서에 유형 속성을 지정합니다.reference
컬렉션에 삽입할 수 있습니다.하지만 제가 컬렉션에 삽입할 때마다, 그것은 문자열이나 물체로 나옵니다.프로그래밍 방식으로 를 삽입하려면 어떻게 해야 합니다.reference
입력된 값?
UI에서 이 작업을 수행할 수 있습니다.
아마도 가장 간단한 해결책은 참조 키의 값을 다음과 같이 설정하는 것입니다.doc(collection/doc_key)
왜냐하면DocumentReference
필요합니다.
코드 예제:
post = {
content: "content...",
title: "impressive title",
user: db.doc('users/' + user_key),
};
db.collection('posts').add(post)
오늘 이 문제를 해결하기 위해 노력했는데 해결책은 다음과 같습니다..doc()
문서 참조를 작성합니다.
firebase.firestore()
.collection("applications")
.add({
property: firebase.firestore().doc(`/properties/${propertyId}`),
...
})
그러면 DocumentReference 유형이 저장됩니다.property
필드에서 데이터를 읽을 때 문서에 액세스할 수 있습니다.
firebase.firestore()
.collection("applications")
.doc(applicationId)
.get()
.then((application) => {
application.data().property.get().then((property) => { ... })
})
이것은 소방서에 보관할 모델 클래스입니다.
import { AngularFirestore, DocumentReference } from '@angular/fire/firestore';
export class FlightLeg {
date: string;
type: string;
fromRef: DocumentReference; // AYT Airport object's KEY in Firestore
toRef: DocumentReference; // IST {key:"IST", name:"Istanbul Ataturk Airport" }
}
FlightLeg 개체를 참조 값으로 저장해야 합니다.이를 위해:
export class FlightRequestComponent {
constructor(private srvc:FlightReqService, private db: AngularFirestore) { }
addFlightLeg() {
const flightLeg = {
date: this.flightDate.toLocaleString(),
type: this.flightRevenue,
fromRef: this.db.doc('/IATACodeList/' + this.flightFrom).ref,
toRef: this.db.doc('/IATACodeList/' + this.flightTo).ref,
} as FlightLeg
.
..
this.srvc.saveRequest(flightLeg);
}
다른 개체를 참조하여 개체를 Firestore에 저장할 수 있는 서비스:
export class FlightReqService {
.
..
...
saveRequest(request: FlightRequest) {
this.db.collection(this.collRequest)
.add(req).then(ref => {
console.log("Saved object: ", ref)
})
.
..
...
}
}
필드 값은 형식이어야 합니다.당신은 그 안에 어떤 다른 물체를 집어넣는 것처럼 보입니다.id
그것은 끈입니다.
최근 업데이트로 인해 위의 답변이 구식이 된 것 같습니다.이상하게도 이제 해결책이 훨씬 쉬워졌습니다..ref 옵션은 제거되었지만 ref는 이제 자동으로 가져옵니다.
따라서 다음과 같은 작업을 수행할 수 있습니다.
const member = this3.$Firestore.doc('users/' + user2.user.uid);
this3.$Firestore.collection('teams').doc(this3.teamName).set({
name: this3.teamName,
members: [member],
});
회원이 문서 참조인 곳에서, 그것처럼 간단합니다. (이것 3은 무시하세요. lol.)
언급URL : https://stackoverflow.com/questions/51292378/how-do-you-insert-a-reference-value-into-firestore
'programing' 카테고리의 다른 글
MongoDB - DBREF가 필요합니까? (0) | 2023.07.01 |
---|---|
Vue.js 및 Vuex this.$store 반환을 새 Vue({store})에 추가한 후 정의되지 않음 (0) | 2023.07.01 |
레이지 초기화예외: 프록시를 초기화할 수 없음 - 세션 없음 (0) | 2023.07.01 |
파이썬의 Zip 목록 (0) | 2023.07.01 |
모의 서비스/구성요소를 사용한 스프링 부트 통합 테스트 (0) | 2023.07.01 |