Menu
CoddyTech

返すフィールドを選択する

CoddyのNode.jsジャーニー「MongoDBによるデータベース」セクションの一部。レッスン 10/29。

リストページでは、ほかのすべてのフィールドを表示せずにタイトルだけが必要な場合があります。プロジェクションを使うと、データベースが返すフィールドを選択できます。これをfindの第2引数に指定します。値に1を指定すると、そのフィールドが含まれます。

await books.find({}, {projection: {title: 1, _id: 0}}).toArray();
// [{title:'Dune'}, {title:'Kindred'}, {title:'Emma'}]

空のフィルターを指定すると、すべての本が対象になります。プロジェクションは返される各ドキュメントを変更しますが、一致する本は変わりません。MongoDBでは通常、ほかのフィールドを選択しても_idが含まれます。これを0に設定すると、省略されます。Dataタブに保存されているドキュメントには、元のフィールドがすべて保持されます。

challenge icon

チャレンジ

簡単

これは小さな練習用プロジェクトです。セットアップは用意されているので、exercise.jsだけを編集してください。

すべての本について、title と year のみを返してください。_idと genre は省略します。実行してGET /resultを呼び出してください。最初の結果は{"title":"Dune","year":1965}です。Data タブを確認してください。genre は引き続きストレージに存在しています。

自分で試してみよう

export async function exercise(books) {
    return await books.find().toArray();
}

MongoDBによるデータベースのすべてのレッスン

自分で練習してみよう: Expressプレイグラウンド