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}} ])