mongodb(二)–常用操作

13714 ワード

mongodb(二)–常用操作
記事の目次
  • mongodb(二)--常用操作
  • 一、プロフィール
  • 、データタイプ
  • .基本データタイプ
  • 、モンゴ文の実行方法
  • 3.1 shellにおけるインタラクティブ実行
  • 3.2接続時に直接
  • を実行します.
  • 3.3 Javascriptファイルを実行する
  • 3.3.1 mongodb接続は外に書いて、javascript文は
  • を実行します.
  • 3.3.2 mongodbの接続もjavascriptファイルの中にあります.
  • 3.3インタラクティブshellにおいてステートメント
  • を実行する.
  • 、データベース操作
  • 4.1データベースを見る
  • 4.2データベースの選択または新規作成(新規作成なし)
  • 4.3データベースを削除する
  • 、セット操作
  • 5.1集合
  • を確認する.
  • 5.2新しいセット
  • 5.3セットを削除する
  • 六、データ操作
  • 6.1は
  • を調べます.
  • 6.1.1普通クエリー
  • 6.1.2条件クエリー
  • 6.1.3関数クエリを使用する
  • 6.1.4個数クエリー
  • 6.2挿入
  • 6.3更新
  • 6.3.1普通更新
  • 6.3.2配列更新
  • 6.3.3削除
  • 、ラスト
  • 一、概要
    このセクションでは、mongodbの中の文の実行を紹介します.mogdbのデータの種類、文の実行方法、および常用添削の操作が含まれます.mongodbはjavascript shellを持参しています.javascriptインタプリタです.javascript文は何でも実行できます.
    二、データタイプ
    2.1基本データタイプ
    タイプは公式サイトのアドレスを参照してください.https://docs.mongodb.com/manual/reference/operator/query/type/index.html mongodbでよく使われるデータの種類は以下の通りです.
    データの種類
    説明

    null(Null)
    空の値
    {address”:null}
    book(Boolean)
    ブール型、trueまたはfalse
    {「エクセル」:true}
    string(String)
    文字列
    {「stuId」:「002」}
    int(Integer)
    型を整えて、32位あるいは64位、サーバーに依存します.
    {「age」:18}
    ドビー
    ダブル精度浮動小数点数
    {score”:99.9}
    date(Date)
    日付
    {createTime”:ISO Date(「2019-07-28 T 03:32:22.083 Z」)}
    timestamp(Timestamp)
    タイムスタンプ
    {udateTime”:154318837695}
    ObjectId(ObjectId)
    _.idデフォルトタイプ(12バイト)は、自動的に生成され、「時間+マシン+pid+カウンタ」で構成されています.
    {「id」:ObjectId(「5 d 3 d 5 a 09 f 7 c 00 d 6237 da 17 ce」)
    Aray
    行列
    {ホビー}:[[football]、[baskeetball]]
    object
    埋め込み文書
    binary data
    バイナリデータ
    reglar expression
    正規表現
    コード
    コード
    三、モノゴ文の執行方式
    mongo文の実行方法は、shellにおいてインタラクティブに実行され、接続時にjavascriptファイルを直接実行し実行することを含む.
    3.1 shellでインタラクティブに実行する
    #    shell
    mongo mongodb://root:root@localhost:27017/school
    #    
    db.stu.findOne();
    
    3.2接続時に直接実行する
    を使用して、接続時に直接javascript文を実行します.
    mongo mongodb://root:root@localhost:27017/school --eval "db.stu.find().pretty()"
    
    3.3 javascriptファイルを実行する
    javascriptファイルの書き方は2種類あります.一つはjavascriptファイルの中で文だけを書いて、mongodbの接続は外に置いてください.第二に、mongodbの接続もjavascriptファイルに入れます.
    また、javascriptファイルの実行方法は二つあります.一つはインタラクティブshellで実行します.二は接続時に行います.次に例を挙げて説明します.
    3.3.1 mongodb接続は外に書いて、javascript文は実行します.
    javascriptファイルのmono goを作成します.スクリプト1.js
    //  stu       ( json  )
    printjson(db.stu.findOne());
    
    実行モンスタースクリプト1.jsファイル
    #  javascript  ,  --quiet       , :mongo mongodb://root:root@localhost:27017/school -quiet mongo_study.js
    mongo mongodb://root:root@localhost:27017/school mongo_script_1.js
    
    3.3.2 mongodbの接続もjavascriptファイルに入れます.
    javascriptファイルのmono goを作成します.スクリプト2.js
    //    
    conn = new Mongo('localhost:27017');
    //     
    db = conn.getDB('school');
    //    
    db.auth('root','root');
    //     
    printjson(db.stu.findOne());
    
    実行モンスタースクリプト1.jsファイル
    mongo mongo_script_2.js
    
    3.3.3インタラクティブshellで文を実行する
    ロード方法を使用して、インタラクティブshellでステートメントを実行できます.
    #    shell
    mongo mongodb://root:root@localhost:27017/school
    #    
    load('mongo_script_1.js')
    
    同時にロードは、javascriptファイルに他のjavascriptファイルをロードするためにも使用できます.
    //js_util.js  
    function get_date() {
        return new Date();
    }
    
    //mongo_script_1.js  
    load('js_util.js');
    print(get_date());
    
    四、データベース操作
    4.1データベースを確認する
    #       
    db;
    #       
    show dbs;
    
    4.2データベースの選択または新規作成(なしで新規作成)
    #     (     )   , use school;
    use db_name;
    
    4.3データベースの削除
    #     
    db.dropDatabase;
    
    五、集合操作
    5.1集合を確認する
    #    ,  show tables
    show collections
    
    5.2新しい集合
    #    ,      ,          , :db.createCollection('stu')
    db.createCollection(collection_name)
    
    5.3セットを削除する
    #    ,  :db.stu.drop()
    db.collection.drop()
    
    六、データ操作
    例を簡単にするために、ここで関数mogo_を作成します.exeはmongodb文を実行するために用いられます.
    function mongo_exe(){
        mongo mongodb://root:root@localhost:27017/school -eval "$1"
    }
    
    6.1参照
    6.1.1一般クエリ
    #    
    mongo_exe "db.stu.findOne()"
    #    (      )
    mongo_exe "db.stu.findOne().pretty()"
    #    
    mongo_exe "db.stu.find()"
    #      ,limit:     skip:      sort:  (1:   -1:  )
    mongo_exe "db.stu.find().limit(4).skip(1).sort({'stuId':-1})"
    
    #    ,          ,     :{ "_id" : ObjectId("5d3d5a09f7c00d6237da17ce"), "stuId" : "011", "score" : 2, "hobby" : [ "sleep", "run", "jump" ] }
    mongo_exe "db.stu.find({'hobby':'run'})"
    #    ,          
    mongo_exe "db.stu.find({'hobby':{\$all:['run', 'jump']}})"
    #    ,          
    mongo_exe "db.stu.find({'hobby':{\$size:3}})"
    
    6.1.2条件照会
    よく使うクエリの条件は、以下のとおりです.lte:以下イコール;gt:より大きいgte:等和より大きい;ヌ:等しくないin:含むnin:含まないor:またはand:且例は以下の通りです
    #    ,($gt),>=($gte)
    mongo_exe "db.stu.find({'age':{\$gt:17}})"
    mongo_exe "db.stu.find({'age':{\$lte:18}})"
    #     ,$ne
    mongo_exe "db.stu.find({'age':{\$ne:18}})"
    #      ,$in, $nin
    mongo_exe "db.stu.find({'age':{\$in:[17,18]}})"
    #      ,$or
    mongo_exe "db.stu.find({\$or:[{'age':17}, {'age':18}]})"
    
    6.1.3関数で照会する
    関数を使って速度を調べるのは遅いです.
    #      ,this   
    mongo_exe "db.stu.find({'\$where':function(){
        if(this.age == 18){
            return true;
        }
        return false;
    }})"
    
    #      ,    
    mongo_exe "db.stu.find({'\$where':'this.age==18'})"
    
    6.1.4個数クエリ
    #    
    mongo_exe "db.stu.count({'age':18})"
    
    6.2挿入
    #  
    mongo_exe "db.stu.insert({'stuId':'003', 'stuName':'apple3', 'age':18, 'createTime':new Date(),excellent:true, , 'score':99.9, 'address':null, 'updateTime':new Date().getTime(),hobby:['football', 'basketball'], 'teacher':{'schoolName':'No1 middle school'}})"
    #    
    mongo_exe "db.stu.insert([{'stuId':'010'},{'stuId':'011'},{'stuId':'012'}])"
    
    6.3更新
    6.3.1通常更新
    フォーマットを更新:
    db.collection.update(
    ,  #    
    ,  #    
    {
    upsert:boolean, #  ,true:      ,  false
    multi:boolean, #  ,true:      ,  false(      )
    writeConsern: #  ,       
    }
    
    例は以下の通りです
    #    ,     
    mongo_exe "db.stu.update({'_id':ObjectId('5d3d1cde73917bf1cb6f39fd')},{'stuId':'013', 'age':19})"
    #      (  save),_id     ,     
    mongo_exe "db.stu.save({'_id':ObjectId('5d3d1cde73917bf1cb6f39fd'),'stuId':'015','stuName':'apple015'})"
    mongo_exe "db.stu.save({'stuId':'016','stuName':'apple016','age':17})"
    
    #      ($set)
    mongo_exe "db.stu.update({'stuId':'011'},{\$set:{'stuName':'apple012'}})"
    #    ($inc)
    mongo_exe "db.stu.update({'stuId':'011'},{\$inc:{'score':1}}, {upsert:true})"
    
    6.3.2配列更新
    #    ($push),     
    mongo_exe "db.stu.update({'stuId':'011'},{\$push:{'hobby':'sleep'}}, {upsert:true})"
    #    ($push, $each),     
    mongo_exe "db.stu.update({'stuId':'011'},{\$push:{'hobby':{'\$each':['run','jump']}}}, {upsert:true})"
    #    ($addToSet),     ,      
    mongo_exe "db.stu.update({'stuId':'011'},{\$addToSet:{'hobby':'run'}}, {upsert:true})"
    
    #    ($pop),        ,    , 1:         -1:     
    mongo_exe "db.stu.update({'stuId':'011'},{\$pop:{'hobby':1}})"
    #    ($pull),      
    mongo_exe "db.stu.update({'stuId':'011'},{\$pull:{'hobby':'jump'}})"
    
    6.3.3削除
    #  
    mongo_exe "db.stu.remove({'stuId':'010'})"
    
    ラスト
    ここにはよく使われているいくつかの操作がリストされています.もっと多くの操作は後から紹介されます.