Cloud Firestore에서 컬렉션 이름 업데이트
Cloud Firestore에서 컬렉션 이름을 변경할 수 있습니까?저는 200개의 문서로 컬렉션을 만들었습니다.이제 컬렉션 이름을 변경하려고 합니다.Firebase 콘솔에서 이 작업을 수행할 방법을 찾을 수 없었습니다.
코드를 통해 또는 콘솔에서 컬렉션 이름을 변경할 수 있습니까?아니면 Firestore에서 문서를 내보내고 새 컬렉션을 만든 다음 해당 문서를 다시 가져올 수 있습니까?
제발 도와주세요.
이름이나 ID, 컬렉션 또는 문서가 존재하면 변경할 수 없습니다.효율적인 인덱스를 구축하기 위해 모든 데이터는 불변입니다.
당신은 확실히 모든 것을 읽은 다음 새로운 이름과 ID로 모든 것을 다시 넣을 수 있습니다.
로드한 다음 새 이름으로 다시 업로드할 수 있습니다.
await FirebaseFirestore.instance
.collection(oldCollectionName)
.get()
.then((QuerySnapshot snapShot) async {
snapShot.docs.forEach((element) async {
await FirebaseFirestore.instance
.collection(newCollectionName)
.doc(element.id)
.set(element.data()as Map<String, dynamic>);
});
});
참고: 위의 코드는 floating을 위해 작성되었지만 변경 사항이 거의 없는 사용자에게 도움이 될 수 있습니다.
테스트 후 업데이트:이렇게 하면 하위 컬렉션이 이동하지 않습니다.
Firefoo를 사용하면 이름 바꾸기, 복제, 내보내기 등을 변경할 수 있지만 무료는 아닙니다.
여기 자바스크립트로 작성된 코드 조각이 있습니다.하위 컬렉션은 이동되지 않으며 이전 컬렉션은 삭제되지 않습니다.
const db = admin.firestore();
const oldCollRef = db.collection('oldCollectionName');
const oldCollSnap = await oldCollRef.get();
let arrayPromise = [];
oldCollSnap.forEach(async doc => {
arrayPromise.push(new Promise(async (resolve, reject) => {
resolve(await db.collection('newCollectionName').add(doc.data()));
}));
})
Promise.all(arrayPromise)
언급URL : https://stackoverflow.com/questions/52251826/updating-a-collection-name-in-cloud-firestore
'programing' 카테고리의 다른 글
TypeScript와 Babel을 함께 사용할 수 있습니까? (0) | 2023.07.13 |
---|---|
ASP.NET 사용자 지정 오류 페이지 - 서버.GetLastError()가 null입니다. (0) | 2023.07.13 |
.gitignore에 없는 추적되지 않은 파일을 어떻게 표시합니까? (0) | 2023.07.13 |
데이터베이스 메일 보내기 (0) | 2023.07.13 |
개체 배열에서 Mongoose / MongoDB $addToSet 기능 사용 (0) | 2023.07.13 |