サンプル ドキュメントに「コンポーネント」を入力するにはどうすればよいでしょうか。
{
"__v": 1,
"_id": "5252875356f64d6d28000001",
"pages": [
{
"__v": 1,
"_id": "5252875a56f64d6d28000002",
"page": {
"components": [
"525287a01877a68528000001"
]
}
}
],
"author": "Book Author",
"title": "Book Title"
}
これは、Mongoose によってドキュメントを取得する JS です。
Project.findById(id).populate('pages').exec(function(err, project) {
res.json(project);
});
ベストアンサー1
Mongoose 4.5はこれをサポートしています
Project.find(query)
.populate({
path: 'pages',
populate: {
path: 'components',
model: 'Component'
}
})
.exec(function(err, docs) {});
また、複数の深いレベルに参加することもできます。
編集 2021/03/17: これはライブラリの実装です。裏では別のクエリを実行してデータを取得し、メモリ内で結合します。これは機能しますが、実際には頼るべきではありません。これにより、データベース設計が SQL テーブルのように見えます。これはコストのかかる操作であり、拡張性がありません。結合を減らすようにドキュメントを設計してください。