MongoDBのデータ演習

1、3年生のクラスを作成して、ランダムに10人を追加します。

> {((グレード= [ 'grade_1_1'、 'grade_1_2'、 'grade_1_3'])でgrade_index)のために
       hobbys = [ '描く'、 'ダンス'、 'を実行する'、 '歌う'、 'サッカー'、 'バスケットボール'、 'コンピュータ'、 'パイソン']    
       ため(VAR I 1 =、iは<= 10、I ++){
           DB [グレード[grade_index]。インサート({
               "名前": "zhangsan" + I、
               "性別":恐らくMath.round(Math.random()* 10)%2、
               "年齢":恐らくMath.round(Math.random()* 6)+ 3、
               "趣味":[Hobbys [恐らくMath.round(Math.random()* 6)]]
           });
       }
   } 

ビュー

グレードクラスのgrade_1_2内のすべての学生を見ます

db.getCollection( 'grade_1_2')。を見つけます({})

すべての年齢は4歳の学生でgrade_1_2グレードクラスを見ます

db.getCollection( 'grade_1_2')({ "年齢":4})を見つけます。

見る年生のクラスは4歳未満のすべての学生が古いgrade_1_2

db.getCollection( 'grade_1_2')を見つける({ "年齢":{$ GT:4}})。

グレードクラスgrade_1_2すべてのより古い4歳未満7歳の学生を見ます

db.getCollection( 'grade_1_2')を見つける。({ "年齢":{$ GT:4、$ LT:7}})

見る年生のクラスは、年齢や性別のすべてのより古い4年がゼロの学生であるgrade_1_2

db.getCollection( 'grade_1_2')を見つける({ "年齢":{$ GT:4}、 "セックス":0})。

すべてのより若い4歳grade_1_2または7年以上のグレードのクラスで学生を見ます

db.getCollection( 'grade_1_2')を見つける({$または:[{ "年齢":{$ LT:4}}、{ "年齢":{$ GT:6}}]})。

見る年生のクラスはすべての年齢は4歳か6歳の学生でgrade_1_2

db.getCollection( 'grade_1_2')を見つける({ "年齢":{$における[4,6]}})。

グレードクラスは、すべての名前zhangsan1を持つ学生はgrade_1_2見ます

db.getCollection( 'grade_1_2')を見つける({ "名前":{$正規表現: "zhangsan1"}})。

クラスはzhangsan1とzhangsan2で、すべての生徒の名前をgrade_1_2グレードを見ます

db.getCollection( 'grade_1_2')を見つける。({ "名前":{$で:[新しい正規表現( "" zhangsan1 ")、新しい正規表現(" "zhangsan2")]}}) 

興味のすべての3つの中でグレードクラスgrade_1_2学生を見ます

db.getCollection( 'grade_1_2')を見つける({ "趣味":{$サイズ:3}})。 

グレードクラスを見る `grade_1_2`趣味は、すべての学生を描く含ま

db.getCollection( 'grade_1_2')を見つける({ "趣味": "描画"})。

グレードクラスを見る `両方の絵画やダンスの学生を含むすべての利益を、grade_1_2`

db.getCollection( 'grade_1_2')({ "趣味":{$すべて:[、 "描画" "ダンス"]}})を見つけます。 

3人のすべての生徒の学年クラスgrade_1_2利益を見る学生の数を持っています

db.getCollection( 'grade_1_2')を見つける。({ "趣味":{$サイズ:3}})。(カウント) 

学生の二年生のクラスを見ます

db.getCollection( 'grade_1_2')。({})を見つける。限界(1).SKIP(1) 

昇順で、年齢によって、学生の学年のクラスを見ます

db.getCollection( 'grade_1_2')({})を見つけるソート({ "年齢":1})。。 

年齢に応じて降順で、生徒の学年のクラスを見ます、

db.getCollection( 'grade_1_2')を見つける({})ソート({ "年齢":-1})。。 

これは学生時代値のグレードクラスを見ます

db.getCollection( 'grade_1_2')。明確な( '年齢')  

生徒の学年のクラスを表示、インタレスト・カバレッジました

db.getCollection( 'grade_1_2')。明確な( '趣味')  

生徒の学年のクラスを見る、男の子( `sex` 0)どのような年齢の値

db.getCollection( 'grade_1_2')異なる( '年齢'、{ "性別":0})。

[削除]

クラス2、グレードgrade_1_2は、すべての4歳の学生を削除します

db.getCollection( 'grade_1_2')を削除({ "年齢":4})。  

クラス2、グレードgrade_1_2は、最初の6歳の学生を削除します

。db.getCollection( 'grade_1_2')を削除({ "年齢":6}、{justOne:1})  

修正

クラス2、グレードgrade_1_2、zhangsan7名前の変更]学生、8歳の年齢、趣味はダンス、塗装されました。

db.getCollection( 'grade_1_2')の更新。({ "名": "zhangsan7"}、{$設定:{ "年齢":8、 "趣味":[ "ダンス"、 "描画"]}}) 

 `Grade_1_2`年生のクラスは、学生が歌うzhangsan7`興味を追加しました。

。db.getCollection( 'grade_1_2')更新({ "名": "zhangsan7"}、{$プッシュ:{ "趣味": "歌います"}}) 

 `Grade_1_2`年生のクラスは、学生が自慢とバスケットボールをzhangsan7`権益を追加しました。

。db.getCollection( 'grade_1_2')更新({ "名": "zhangsan7"}、{$プッシュ:{ "趣味":{$それぞれ:[ "自慢"、 "play_basketball"]}}}) 

 `Grade_1_2`グレードクラス、学生は非繰り返しの` hobby`配列を確保するために、zhangsan7`趣味は歌うこととバスケットボールをadded`。

。db.getCollection( 'grade_1_2')更新({ "名": "zhangsan7"}、{$ addToSet:{ "趣味":{$それぞれ:[ "sing1"、 "play_basketball"]}}})  

新学期、すべての年齢のすべての学生に学年クラスは、一年で増加します

db.getCollection( 'grade_1_2')の更新。({}、{$ INC:{ "年齢":1}}、{マルチ:真})  

クラス2、グレードgrade_1_2、削除zhangsan7プロパティの学生のセックス

db.getCollection( 'grade_1_2')の更新。({ "名": "zhangsan7"}、{解除$:{ "セックス":1}}) 

クラス2、グレードgrade_1_2は、ヘッダ要素趣味アレイzhangsan7学生を削除します

。db.getCollection( 'grade_1_2')更新({ "名": "zhangsan7"}、{$ポップ:{ "趣味":-1}})  

 学生の配列でクラス2、グレード `grade_1_2`、DELETE` zhangsan7`` hobby`最後の要素

db.getCollection( 'grade_1_2')の更新。({ "名": "zhangsan7"}、{$ポップ:{ "趣味":1}})  

 クラス2、グレード `grade_1_2`、学生の配列でDELETE` zhangsan7`` sing`` hobby`要素

。db.getCollection( 'grade_1_2')更新({ "名": "zhangsan7"}、{$プル:{ "趣味": "歌います"}}  

パケット

中間試験における4つのクラスの最初の年の間に新しいコレクションのgrade_1_4、レコードの結果を作成します。

 ため(VAR I 1 =、iは<= 10、I ++){

        db.grade_1_4.insert({

            "名前": "zhangsan" + I、

            "性別":恐らくMath.round(Math.random()* 10)%2、

            "年齢":恐らくMath.round(Math.random()* 6)+ 3、

            "スコア": {

                "中国":60 +恐らくMath.round(Math.random()* 40)、

                "数学":60 +恐らくMath.round(Math.random()* 40)、

                "英語":60 +恐らくMath.round(Math.random()* 40)

            }

        });

    }  

試験中の学生のスコアあたりの統計 

 db.grade_1_4.group({

       キー:{ "名前":1}、

       COND:{}、

       低減:関数(CURR、結果){

result.total + = curr.score.chinese + curr.score.math + curr.score.english。

       }、

       初期:{合計:0}

   })

統計男の子試験の各スコア

  db.grade_1_4.group({

       キー:{ "名前":1}、

       指揮:{ "セックス":0}、

       低減:関数(CURR、結果){

result.total + = curr.score.chinese + curr.score.math + curr.score.english。

       }、

       初期:{合計:0}

   })  

統計すべての男性、及び試験ポイントでの平均スコア 

 db.grade_1_4.group({

       キー:{ "名前":1}、

       指揮:{ "セックス":0}、

       低減:関数(CURR、結果){

result.total + = curr.score.chinese + curr.score.math + curr.score.english。

       }、

       初期:{合計:0}、

       ファイナライズ:関数(アイテム){

item.avg =(item.total / 3).toFixed(2)。

返却物;
       }
   })  

集合

名前でグループ、および統計の数 

db.getCollection( 'grade_1_4')凝集体([{$基:{_id: "$名"、NUM:{$和:1}}}])。  

名、および統計の数によってグループは、フィルタは、学生の数よりも大きい1

 db.getCollection( 'grade_1_4')。凝集([

       {$基:{_id: "$名"、NUM:{$和:1}}}、

       {$マッチ:{NUM:{$ GT:1}}}

   ])

試験中の学生のスコアあたりの統計

   db.getCollection( 'grade_1_4')。凝集([

       {$基:{_id: "$名"、スコア:{$合計:{$和:[ "$ score.chinese"、 "$ score.math"、 "$ score.english"]}}}}

])

統計男の子試験の各スコア

db.getCollection( 'grade_1_4')。凝集([

   {$試合:{性別:0}}、

   {$基:{_id: "$名"、スコア:{$合計:{$和:[ "$ score.chinese"、 "$ score.math"、 "$ score.english"]}}}}

])

統計男の子各スコアは、検査の大きい順にスコア

db.getCollection( 'grade_1_4')。凝集([

       {$試合:{性別:0}}、

       {$基:{_id: "$名"、スコア:{$合計:{$和:[ "$ score.chinese"、 "$ score.math"、 "$ score.english"]}}}}、

       {$ソート:{スコア:1}}

])

おすすめ

転載: www.cnblogs.com/py2019/p/11991883.html