- ランダムなIDを生成する方法: Firestoreで独自のIDを作成する一つの方法は、ランダムなIDを生成することです。一般的な方法として、UUID(Universally Unique Identifier)を使用することができます。UUIDは一意の識別子を生成するために広く採用されており、衝突の可能性が非常に低いです。
以下は、Node.jsを使用してUUIDを生成し、Firestoreにドキュメントを追加する例です。
const admin = require('firebase-admin');
const { v4: uuidv4 } = require('uuid');
// Firebaseの初期化
admin.initializeApp();
// Firestoreの参照を取得
const db = admin.firestore();
// ドキュメントを追加
const customId = uuidv4();
const docRef = db.collection('コレクション名').doc(customId);
const data = {
// ドキュメントのデータ
};
docRef.set(data)
.then(() => {
console.log('ドキュメントが追加されました。');
})
.catch((error) => {
console.error('ドキュメントの追加中にエラーが発生しました:', error);
});
- ユーザーが指定するIDを使用する方法: もう一つの方法は、ユーザーが指定したIDを使用することです。この場合、ユーザーが提供したIDをドキュメントのIDとして使用します。ただし、この方法ではIDの一意性を保証する責任がユーザーにあります。
以下は、Node.jsを使用してユーザーが指定するIDを使用してFirestoreにドキュメントを追加する例です。
const admin = require('firebase-admin');
// Firebaseの初期化
admin.initializeApp();
// Firestoreの参照を取得
const db = admin.firestore();
// ドキュメントを追加
const customId = 'ユーザーが指定したID';
const docRef = db.collection('コレクション名').doc(customId);
const data = {
// ドキュメントのデータ
};
docRef.set(data)
.then(() => {
console.log('ドキュメントが追加されました。');
})
.catch((error) => {
console.error('ドキュメントの追加中にエラーが発生しました:', error);
});
上記の例では、コレクション名
という部分には実際のコレクションの名前を指定してください。
これらの方法を使用することで、Firestoreで独自のIDを付与することができます。ただし、IDの一意性を確保するために適切な手法を選択し、エラーハンドリングを適切に行うことが重要です。