Firestoreで独自のIDを付与する方法


  1. ランダムな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);
  });
  1. ユーザーが指定する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の一意性を確保するために適切な手法を選択し、エラーハンドリングを適切に行うことが重要です。