質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

Q&A

2回答

1311閲覧

Firestoreの設計について

the

総合スコア112

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

0グッド

0クリップ

投稿2020/07/29 03:36

firestoreの学習中のものです。
instagramのようなサービスを試しに作ってみようと思うのですが、firestoreをどう設計しようかベストプラクティスがわかりません。
タイムライン、投稿、フォローとフォロワー、いいね、コメント機能を実装したいのですが、下記のようなコレクションとドキュメント設計だとどこか問題がありますでしょうか?

yaml

1users: 2 documentID: userID # == auth.uid 3 email: String # == auth.email 4 emailVerified: String # == auth.emailVerified 5 name: String # == auth.displayName 6 photoURL: String # == auth.photoUrl 7 bio: String 8 followers: [userID] 9 followings: [userID] 10 settings: {} 11posts: 12 documentID: auto 13 userID: userID 14 title: String 15 body: String 16 commentsCount: Number 17 likesCount: Number 18 imageURL: String 19 published: Bool 20 createdAt: Date 21 updatedAt: Date 22comments: 23 documentID: auto 24 userID: userID 25 postID: postID 26 content: String 27likes: 28 documentID: auto 29 userID: userID 30 postID: postID 31followers: 32 followerID: followerID 33 userID: userID 34followings: 35 followingsID: followingsID 36 userID: userID 37timelines: 38 userID: userID 39 postID: postID 40 createdAt: Date 41

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

users, posts, comments, linksの第一ドキュメントがみんなdocumentIDとなっていますが、このドキュメントをプライマリーキーにしようと考えているのでしょうか? 通常、コレクションやドキュメントは誰が見ても分りやすいWordを選択すべきだと考えます。従って、usersのdocumentIDはuserIDに、postsのdocumentIDはpostIDに、commentsのdocumentIDはcommentIDの方がこれらドキュメントを的確に表現しています。このようにすると、例えばusersのuserIDとpostのuserIDは関連していることが一目両全となります。

投稿2020/08/08 20:22

rmitsumasu

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

the

2020/08/10 07:11

「postsのdocumentIDはpostID」にというのは、firestoreのfieldにidを追加するということでしょうか
guest

0

パット見comments, likesのdocumentIdhがautoなのがおかしいくらいじゃないですかね
postsのdocumentIdになると思うので

投稿2020/08/01 15:24

popai306

総合スコア157

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問