読者です 読者をやめる 読者になる 読者になる

フロントサイドエンジニアという選択肢

HTMLコーダー → ECサイト運営 → システムエンジニア という経歴の著者がフロントサイトエンジニアという職業に今後の活路を見出し、その道に進むために取得した技術を貯めておくブログ

(Mongo DB)MongoDBの基本 検索データの受け取り方法

MongoDBの検索結果を細かく指定して受け取る方法です。MongoDB起動後にコマンドプロンプトからシェルを起動して操作します。

必要なフィールドのみ受け取る

findメソッドの第2引数で受け取るフィールドを指定することができます。nameのフィールドのみ受け取る場合は{name:1}と指定します。
例:db.documentName.find(null,{name:1})

逆に、そのフィールドだけ除外したい場合は{name:0}を指定します。 上記の例のような場合でも、デフォルトでは必ず_id値が入ってくるので、_id値を含まないnameのみのフィールドを取得する場合は以下のようになります。
例:db.documentName.find(null,{name:1, _id:0})

ソートして受け取る

ソートする場合はsortメソッドを使用します。メソッドチェーンを使用して、findメソッドの後にsortメソッドを記述します。引数にはソートの対象にするフィールド名を渡して、昇順ならば「1」、降順ならば「-1」を指定します。
例:db.documentName.find({}).sort({name:1})

名前のみを降順で受け取る場合は以下のようにします。
例:db.documentName.find(null, {name:1, _id:0}).sort({name:-1})

特定の位置にあるデータを受け取る

検索で戻ってきたデータのn番目からn+x番目を受け取る場合は、slipメソッドとlimitメソッドを使用します。どちらも引数は数値になります。以下の例は、検索結果の2番目から3つのドキュメントを受け取ります。
例:db.documentName.find({}).limit(3).skip(2)

カウント

検索結果の数は以下のように取得します。引数に検索条件を渡すので、findメソッドは使用しません。
例:db.documentName.count({age:{&gte:20}})