furugenict8 / my_youtube_indexer

youtubeにindexをつけて、保存できるアプリ
0 stars 0 forks source link

動画を追加する #99

Closed furugenict8 closed 2 years ago

furugenict8 commented 2 years ago

概要

player_pageに動画を追加する。 とりあえず、videoIdで。 できるようなら(最終的にはこれ)アドレスで追加もしたい。

関連ストーリー

関連タスク

furugenict8 commented 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でスクラップしようかな。

furugenict8 commented 2 years ago

ここではyoutubeコレクションと、videoIdを持っているドキュメントを作る。 (つまり、subcollection indexesはここではつくらない。) で、 player_pageのaddで、videoIdをもっているドキュメントにサブコレクションのindexesをつくって、そこに同時にtitleをcurrentTimeを持たせるって感じにすればいいのかな。

furugenict8 commented 2 years ago

上のスレッドおかしいので、書き直し

ここではyoutubeコレクションと、videoIdを持っているドキュメントを作る。 (つまり、subcollection indexesはここではつくらない。) で、 →従来の通り、collection youtubeにdocumentIdとvideoIdのフィールドを追加。

player_pageのaddで、videoIdをもっているドキュメントにサブコレクションのindexesをつくって、そこに同時にtitleをcurrentTimeを持たせるって感じにすればいいのかな。 →今まで通り、ここで、subcollection indexesを作る。(indexesはなければ勝手に作るのでreferenceで指定しておくだけ。)

furugenict8 commented 2 years ago

player_pageでindex追加もできるようになったが debugのコンソールに flutter: type 'Null' is not a subtype of type 'num' がでるのはなぜ 別のissueで対応しようかな。

furugenict8 commented 2 years ago

videoIDではなく、urlをいれたら追加できるようにしたい。できればListTileに動画のタイトルを表示したい。 これは別issueでやろう。

furugenict8 commented 2 years ago

動画は追加できているので、close