まずはCRUDのC(新規作成)

connect時に取得したdbオブジェクト(正式な名称はわかりませんが、ここではdbオブジェクトと読んでおくことにします)で対象とするcollectionを指定し、チェーンでメソッドを呼びだします

insertMany()

複数のdocumentを挿入したいときはinsertMany関数の引数に配列で複数のオブジェクトをセットします

insertOne()

一つの要素であればinsertOne

 

find()

データの抽出にはfindメソッドを用います

特定の条件のdocumentを取得したい場合はfindの引数にオブジェクトを指定できる

productsコレクション内のすべてのデータを取得したい場合は、引数は空にする

チェーンにしてtoArray()として複数のdocumentを一つの配列に格納する

ここで注意が必要なのが、idを使ってdocumentを抽出したいとき

mongoDbのidは特殊なオブジェクトが代入されているので素直にstringでidをセットしてもうまく抽出できない。

Mongoコンパスでcollectionを確認するとidフィールドにはObjectIdというインスタンスのコンストラクタにidが渡されていることが確認できる

なのでidを参照する場合には、コンストラクタにid(string)をセットし、その返り値で比較しないといけない

mongodb.ObjectIdというインスタンスの引数にrouteから取得されたidをセットすることでdocumentをfetchできる

 

全件抽出ではなく特定の条件のdocumentを複数取得したい場合は、$inというキーで配列をセットする。

以下のprductIdsには配列でidが複数格納されている