[解決済み] Mongoose で別のスキーマを参照する
2022-07-03 12:39:54
質問
のような2つのスキーマがある場合、どのようにすればよいのでしょうか?
var userSchema = new Schema({
twittername: String,
twitterID: Number,
displayName: String,
profilePic: String,
});
var User = mongoose.model('User')
var postSchema = new Schema({
name: String,
postedBy: User, //User Model Type
dateCreated: Date,
comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}],
});
上の例のようにつなげようとしたのですが、どうすればいいのかわかりませんでした。最終的には、このようなことができれば、私の人生はとても楽になるのですが......。
var profilePic = Post.postedBy.profilePic
どのように解決するのですか?
populate メソッドがお探しのもののようです。まず、投稿スキーマを少し変更します。
var postSchema = new Schema({
name: String,
postedBy: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
dateCreated: Date,
comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}],
});
次にモデルを作成します。
var Post = mongoose.model('Post', postSchema);
そして、クエリを作成するときに、このようにリファレンスを入力します。
Post.findOne({_id: 123})
.populate('postedBy')
.exec(function(err, post) {
// do stuff with post
});
関連
-
Vueにシンプルなメモ帳機能を実装
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】ある要素を別の要素に移動させるには?
-
OSSアップロードエラーを解決する: net::ERR_SSL_PROTOCOL_ERROR
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] ある文字列が他の文字列と "StartsWith" しているかどうかを確認する方法は?
-
[解決済み] Mongooseで文書を更新/アップサートするにはどうしたらいいですか?
-
[解決済み] Mongooseの"__v "フィールドとは?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vueの要素ツリーコントロールに破線を追加する説明
-
JavaScriptのクロージャの説明
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み] テスト
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?