Firestore 엔진에서 생성 한 ID가 아닌 사용자 정의 생성 ID로 Firestore 컬렉션에 문서를 추가 할 기회가 있습니까?
답변:
this.afs.collection('[your collection]').doc('[your ID]').set([your document]);
허용되는 답변을 확장하기 위해 클라이언트가 Firestore로 푸시하기 전에 문서에 대해 임의의 ID를 생성하도록하려는 경우 ( createId()
AngularFire2 외부에 동일한 함수가 있다고 가정 )
const newId = db.createId();
db.collection("cities").doc(newId).set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
이것은 Firestore가 아무것도 저장하기 전에도 ID를 다른 문서의 참조 필드로 설정하는 데 유용합니다. 저장된 개체를 즉시 사용할 필요가없는 경우 ID를 기다리지 않아도되므로 프로세스 속도가 빨라집니다. set()
전화는 각도에 이용 될 수있는 파이프에서 지금 비동기
공지 사항 난 넣지 않았다 id: newId
기본적으로 경우 FireStore는 ID 저장하지 않기 때문에 문서에 필드로, 설정된 객체
이런 식으로 할 수 있습니다
// Inject AngularFirestore as dependency
private angularFireStore: AngularFirestore // from from 'angularfire2/firestore'
// set user object to be added into the document
let user = {
id: this.angularFireStore.createId(),
name: 'new user'
...
}
// Then, finally add the created object to the firebase document
angularFireStore.collection('users').doc(user.id).set(user);
db.collection ( "users"). document (mAuth.getUid ()). set (user)
여기에서 컬렉션의 이름은 "users"
이고 문서 이름은 사용자의UID
여기에서 사용할 필요가 set
없습니다.add
private void storeData(String name, String email, String phone) {
// Create a new user with a first and last name
Map<String, Object> user = new HashMap<>();
user.put("name", name);
user.put("email", email);
user.put("phone", phone);
// Add a new document with a generated ID
db.collection("users").document(mAuth.getUid()).set(user)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toasty.success(context,"Register sucess",Toast.LENGTH_SHORT).show();
}
});
}
"LA"
합니까? 작동하지 않습니다..doc("LA").add({...})
어떻게 할 수 있는지 알려주세요.