Closed furugenict8 closed 2 years ago
追加 editとかもやってしまったが、とにかくyoutubeを追加できるようにはなった。 (editとかdeleteは後で別issueで対応する。)
Cloud FirestoreでSubCollectionを新規作成する - Qiita
これやってみよう。 →サブコレクション追加するときにフィールドも追加しないといけない? →これはそうらしい。 空のMapを入れると、Firestoreには表示されない。(ドキュメントのどこかに書いてあったかも。) 何かフィールドを持っていると表示される。 とりあえず、今はcurrentTIme = 0, titleを'はじまり'とか適当に入れたら、出てきた。 しかし、今度はListTileに表示されない。
試しにplayer_list_pageのListTileに表示されていたvideoId(Firestoreのフィールド) をdocumentIdに変更したら、 field(こんかいはvideoId)をもっているdocumentId→ListTIleで表示 fieldがなく、collectionしかないもの(こんかいはindexes、indexesはフィールドを持っているものもある。)→ListTileで非表示 だった。
fieldがなく、collectionしかないものはFirestore上では斜体で薄く表示されている。 リンク先を見ると、
祖先ドキュメントが存在しない場合 祖先が存在しない場合であっても、ドキュメントは存在できます。たとえば、パス /mycoll/mydoc/mysubcoll/mysubdoc にあるドキュメントは、祖先ドキュメント /mycoll/mydoc が存在しなくても存在できます。Cloud Firestore データビューアでは、存在しない祖先ドキュメントは次のように表示されます。
コレクション内のドキュメントのリストでは、存在しない祖先ドキュメントのドキュメント ID は斜体になっています。 存在しない祖先ドキュメントの情報パネルで、そのドキュメントが存在しないことが通知されます。 https://firebase.google.com/docs/firestore/using-console?authuser=0&hl=ja#non-existent_ancestor_documents
ここには書いてないが、documentは存在しないことになってるっぽいので、 表示されていない。 おそらく、fieldを何かしらもっていないとdocumentIdはないものとしてみなされるみたい。 (Firestoreでは斜体字で表示される。)
ので、一旦戻す。
つまり、documentとか、collection は何かしらフィールドとかdocumentIdを持っていないといけないらしい。
Cloud Firestore データモデル | Firebase Documentation
これ読んでみるか。zennでスクラップしようかな。
ここではyoutubeコレクションと、videoIdを持っているドキュメントを作る。 (つまり、subcollection indexesはここではつくらない。) で、 player_pageのaddで、videoIdをもっているドキュメントにサブコレクションのindexesをつくって、そこに同時にtitleをcurrentTimeを持たせるって感じにすればいいのかな。
ここではyoutubeコレクションと、videoIdを持っているドキュメントを作る。 (つまり、subcollection indexesはここではつくらない。) で、 →従来の通り、collection youtubeにdocumentIdとvideoIdのフィールドを追加。
player_pageのaddで、videoIdをもっているドキュメントにサブコレクションのindexesをつくって、そこに同時にtitleをcurrentTimeを持たせるって感じにすればいいのかな。 →今まで通り、ここで、subcollection indexesを作る。(indexesはなければ勝手に作るのでreferenceで指定しておくだけ。)
player_pageでindex追加もできるようになったが debugのコンソールに flutter: type 'Null' is not a subtype of type 'num' がでるのはなぜ 別のissueで対応しようかな。
videoIDではなく、urlをいれたら追加できるようにしたい。できればListTileに動画のタイトルを表示したい。 これは別issueでやろう。
動画は追加できているので、close
概要
player_pageに動画を追加する。 とりあえず、videoIdで。 できるようなら(最終的にはこれ)アドレスで追加もしたい。
関連ストーリー
94
関連タスク
107
108
110
114