このビデオを歓迎します。オブジェクト参照を使用してデータを関連付ける別の方法を紹介します。
だから私たちが始まる前に私はここで同じディレクトリに新しいファイルを作るつもりです。私はこれを呼びます。
参考文献J.
そして私は前のレッスンからそのファイルにすべてをコピーして、これを変更します。
私がやることの最初のことは、私たちが矛盾するものではなく、以前に行ったことを上書きしないように、使用するデータベースを変更することです。
だから私はblogg demoという名前をあまりにも強調していくつもりです。
大丈夫。
そして、私は先に進んで、ここでたくさんのものを取り除くつもりです。
私たちがモデルに持っているスキーマを除いて、ほとんどすべて。
まず、データの参照と埋め込みの意味について説明します。
最後のビデオで最後に行ったことは、名前の付いたこのようなユーザーがいる場所にデータを埋め込んだことです。そこにも電子メールがあります。
そして、POST配列があり、その配列内の各ポストは実際に配列の中に格納され、タイトルと内容はこのようになります。
そこに行く。
POSTアレイ内のさまざまな投稿を聞くことができます。
今私がこのレッスンで見せていることは、私たちが実際にやっていることは、実際の投稿ではなく、ポスターの配列と内部に格納することを除いて、非常に似ています。
私たちはたくさんのIDを持つので、このような長いIDを持つようにします。
これらのアイデアは個々の投稿に対応します。
それで、ここには、これと等しいIDを持つ投稿があります。それはあなたが何か他のものを呼び出すというタイトルを持ちます。
したがって、もう一度重要な違いは、名前の参照先のIDを格納していることです。
私たちは、投稿全体を埋め込むのではなく、別の投稿のIDを参照しています。
さあ、始めましょう。
そして、投稿をポストスキーマの配列にするのではなく、スキーマをいくつか変更する必要があります。
実際にそれを配列にしています。
しかし、我々はオブジェクトを渡すつもりです、そして、オブジェクトは、このように見えるでしょう。
私はスペースがちょっと外に出ることを意味します。
私たちのオブジェクトには2つの主要なプロパティタイプがあり、refとtypeはマングースになります。スキーマタイプはオブジェクトIDとrefがポストになります。
ここで私がやったことについて話しましょう。
私は、ユーザースキーマにはpost属性があり、それは配列だが、ここにあるような配列の配列ではないと言ってきた。
あるいは、ポストスキーマの配列です。
これは実際にはオブジェクトIDの配列です。
そして、これは私たちがその構文を書く方法です。
これはポストに属するmongooseオブジェクトIDで、保存できます。
私たちが間違ったことをしなかったことを確認するために、ファイルを実行することができます。エラーがないことを確認してください。
すばらしいです。
次に、後で投稿を追加できる単一のユーザーを作成することから始めましょう。
だから、ユーザーは作成し、これはgmailのドットコムでBobの電子メールを与え、名前はBob
Filcherになり、私たちは保存します。そして、それをそのまま残しておきます。コールバックを追加するのではなく作業します。
だからこれは私たちの最初のユーザーを作成するだけです。
ファイルを実行しましょう。
大丈夫。
だから私たちは何も見ませんが、私たちはマンガに行って調べることができます。
だから、Digbyの使用ログのデモにもアンダースコアを表示して、ユーザーを見つけることができます。彼の名前で1人のユーザーがいます。
Bob Belcherの電子メールボブgmailのドットコムとまだ投稿を追加していないので空の投稿。
ここから抜け出して、私がしたいことは、このユーザーに投稿を追加することです。その作成ステートメントを取り除くつもりです。あなたがそれを見ることができるように、私は何をしますか？新しい投稿をしていますか？
したがって、ポストドックを作成して、それをユーザーとは別に作成しています。
だから我々はそのポストを作っているし、最高のバーガーを調理して内容を書いて、それだけで法律のようなものを記入するのではなく、それを保存して保存するというタイトルを付けてくれるだろう。ポストして、今度はコールバックエラーとポストを追加し、そのログポストをキャンセルするだけです。時間のためにエラーを処理せずにファイルを実行します。
そして、IDを持つ新しい投稿をデータベースに追加しました。
これを覚えている。 D. 全体を覚えている5 6 2 5 8 3 7 8。
今は冗談だよ。
しかし、それはどのように見えるのか覚えています。
それから私たちは私たちのコンテンツとタイトルを持っています。
大丈夫。
だからそこから出よう。
だから我々が次にやりたいことは、そのIDを使って投稿とユーザーをどのように結びつけることができるかということです。
そしてそれをするために、私は実際に別の投稿をする段階を踏むつもりです。
それで、これを最高のハンバーガーを作る方法と呼ぶことにしましょう。
パート2これは新しい投稿を作成し、その投稿を保存した後、ユーザーPABXを検索します。
だから私たちはユーザーの検索を行うつもりだと私たちは1つを見つけると私たちはあなたの名前を見つけるでしょう。
今度は電子メールをgmailのドットコムでBobとしてから、このコードを実行してから、これを見つけて見つけます。
OK。
そう、多くのことが起こっています。
投稿が作成されたら投稿を作成します。
ここでは、このユーザーの場合、既に作成済みのユーザーを探しています。必要な場合は、エラーを処理します。
それ以外の場合は、ユーザーの投稿に投稿を追加します。
それで、ユーザーの投稿が見つかりました。私たちはそれをここに呼び、私たちはプッシュポストを押し込みます。ポストは、私たちが作成したばかりのポストを参照しています。ああ、すごいよ。
それが機能すれば保存します。
投稿を保存してからユーザーを絞り込む投稿変数があります。
この場合は、gmailのドットコムでメールボブを持つもの。
そして、それを見つけたら、新しいポストをそのポスト配列に追加します。
その後、それを保存しましょう。
だから、後で私たちは別の発見されたユーザーを保存する必要があります。
そして、はい、私たちは別のコールバックを必要とし、このコールバックにはエラーがあり、何が起きているのかを本当に明確にするためにこのデータを呼び出します。
ここでは、エラーを処理し、そのログデータを取り消すエラーがない場合にのみ処理します。
私たちはここにたくさんいる。
だから、投稿を作成してユーザーを見つけてから、その投稿をユーザーの投稿にプッシュしてユーザーを保存し、データの印刷が完了したらそれを押します。
私たちが何を得るのか見てみましょう。
大丈夫。
それはうまくいった。
ここにBob Belcherのメールアドレスがあります。
ここにユーザIDがあり、投稿の代わりに1つのアイテムを持つ配列があり、オブジェクトIDと埋め込みコードがあるときのものです。
S. 埋め込みデータを使って作業していました。
私たちはポスト全体を持っていたので、代わりにこの配列が実際にデータを見ました。
今私たちはIDを見ているだけです。
それでもう一つ追加しましょう。
だからパート3をやります。
そして、それの代わりに、その1つのテキストが吹いている。
離れて話すことが簡単にできるようにちょうどちょっと変わっていくつもりです。
そして、領事がその投稿を追加します。
ここでは2つのオブジェクトIDがあり、それぞれが個々の投稿に対応しています。
OK。
だから私たちはそれらをどのように関連付けることができます。
しかし今、我々はこのオブジェクトIDをどのように取って正しい投稿を見つけるのかを理解する必要があります。
ユーザーを探したいとします。
そして、IDだけでなくユーザーも投稿したいと思っていますが、すべてのデータが必要です。
だから私はコンソールをクリアするつもりです、そして、私はまた、この巨獣をここでコメントするつもりです。
それで、私たちがしたいことは、ユーザーを見つけてそのユーザーのすべての投稿を見つけることです。
実際には1つの方法でそれを行う方法があります。
だから私たちは最初にユーザーを見つける必要があります。
それはユーザーの検索であり、私たちはもう一度見つけて、次に渡す必要があり、私たちが探しているのはgmailのドットコムのボブの電子メールです。
そして、これは新しいものです。
だから我々は以前これを見たことがない。
私たちはポピュレートするつもりなので、ここで説明します。
OK。
だからここでやったことは、複数の部分を持つより長いクエリを書いたことです。
だから我々はユーザーを探している。
実際にフィールドのポピュレートを作成するポピュレート・ポストを変更して、これらのオブジェクトIDをすべて検索して正しいデータを見つけ、それをポスト・アレイに貼り付けてから、execを実行して実際にクエリを開始します。
だからちょっと変だ。
私たちは1つを見つける。
しかしここではコールバックを使用していないことに気づき、人口を変えていきます。そして、実際にこのことが起こるように、最後にDot
execを与えています。
それでは、コールバックをexecに渡します。これは、コードを実行するときです。
もし私たちがこれを正しければ。
それで、エラーがあるかどうかを確認しましょう。
最初の評議会は、エラーをログします。
さもなければ、私たちのユーザはposts属性の中にあらかじめ設定されたすべての投稿を持っているので、そのログユーザをキャンセルして、これを実行しようとします。
これを除いてすべてがコメントアウトされていることを確認してください。
走りましょう。
そしてあなたは何を知っていますか？
出来た。
だから、ユーザー名はgmailのドットコムでBob Belsherの電子メールボブです。
しかし今、postは単なるオブジェクトIDの配列ではありません。
それは実際にそこに完全なポストを持っています。
両方とも。
だから、あなたはコンテンツとタイトルの内容とタイトルを持っているかどうかを知ることができます。
したがって、私たちが行ったすべてを要約すると、ここにはオブジェクトIDを持つデータが格納されます。
2つのオブジェクトのIDを確認してから、データを取得するために2番目のクエリを作成し、そのデータをすべてのデータに埋め込みました。
だから、あなたはなぜ私たちが相手を使うのか不思議に思うかもしれません。
いつデータを埋め込むのか、オブジェクトID参照をいつ使うのか。
そして、私たちのキャンプの代わりにそれらを使用するとき、本当に重要で本当に重要な質問です。
短い答えはそれが依存するということです。
そして、あなたはどちらかのスタイルとほぼすべての状況を使って得ることができます。
しかし、通常、参照や埋め込みデータを使用して、自分が行っていることにもっと役立つだろう。私たちがあなたのキャンプを通過するときに話し合い、コメントとユーザーを追加し始め、評価と写真、これらのすべての異なる機能が含まれています。
それらのいくつかは埋め込まれる予定であり、そのうちのいくつかは参照される予定です