MongoDB基本コマンドおよび使用

33853 ワード

今日はMongoDBの基本命令を見てみましょう.後で基本概念データベース(database)コレクション(collection)ドキュメント(document)をすばやく使用することができます.MongoDBでは、データベースもコレクションも手動で作成する必要はありません.ドキュメントを作成するとき、ドキュメントが存在するコレクションまたはデータベースが存在しない場合、自動的にデータベースとコレクションが作成されます.コレクションにドキュメントを挿入するとき、ドキュメントに指定されていない場合は_idプロパティを使用すると、データベースは自動的にドキュメントに_を追加します.id、この属性はドキュメントの一意の識別として使用される
  • 現在のすべてのデータベース
    show dbs   show databases
    
  • が表示されます.
  • 指定されたデータベースに入る
    use     
    
  • 現在のデータベースを表示する
    db
    
  • データベース内のすべてのセットを表示する
    show collections
    
  • データベースにドキュメントを挿入します.insertは単一または複数を挿入できます.insertOneは単一のみを挿入できます.insertManyは複数の
    db.<collection>.insert(doc)   :db.stus.insert({
           name:"   ",age:18,gender:" "})
    db.<collection>.insertOne(doc)   :db.stus.insertOne({
           name:"   ",age:28,gender:" "});
    db.<collection>.insertMany([])   :db.stus.insertMany([{
           name:"   ",age:38,gender:" "},{
           name:"   ",age:16,gender:" "},{
           name:"   ",age:14,gender:" "}]);
    
  • を挿入できます.
  • 現在のセットのすべてのドキュメントを表示する
    db.<collection>.find()   :db.stus.find()
    
  • UUID
    ObjectId()
    
  • を生成する.
  • 条件に従って文書を照会し、括弧の中にキー値の対オブジェクトを書くことができ、照会の条件
    db.<collection>.find({
           })
    
  • を表す.
  • クエリー・セットの条件を満たす最初のドキュメント
    db.<collection>.findOne({
           })
    
  • クエリードキュメントの個数
    db.<collection>.find().count()
    
  • ドキュメントを変更すると、以下のupdateの使用法でドキュメントが完全に置き換えられます.慎重に使用してください.複数に一致する場合、デフォルトでは最初のドキュメントのみが変更されます.複数を変更したい場合は、後に構成{multi:true}
    db.<collection>.update({
                    },{
                  })    :db.stus.update({
           name:"   "},{
           age:18});
    
  • を追加します.
  • 文書を修正し、属性
    db.<collection>.update({
                    },{
           $set:{
                     }})
    
  • を指定する.
  • 文書を修正し、属性
    db.<collection>.update({
                    },{
           $unset:{
                   }})
    
  • を削除する.
  • では1つのドキュメントしか変更できません.複数に一致する場合、デフォルトでは最初の
    db.<collection>.updateOne({
                    },{
           $set:{
                     }})
    
  • のみが変更されます.
  • 複数の文書
    db.<collection>.updateMany({
                    },{
           $set:{
                     }})
    
  • を修正する.
  • ドキュメントを置換します.複数に一致する場合、デフォルトでは最初の
    db.<collection>.replaceOne({
                    },{
                  })
    
  • のみが置換されます.
  • 一致する文書
    db.<collection>.remove({
                    })
    db.<collection>.delectMany({
                    })
    
  • を削除する.
  • 一致する最初の文書
    db.<collection>.remove({
                    },true)
    db.<collection>.delectOne({
                    })
    
  • を削除する.
  • は集合を空にし、データベースに集合していない場合、
    db.<collection>.remove({
           })     ,         db.<collection>.drop()       
    
  • はデータベースも消えます.
    //     
    use my_test
    // users                 
    db.users.insert({
         
        username:"sunwukong"
    });
    //       
    show dbs
    //  users    
    db.users.find();
    // users                
    db.users.insert({
         
        username:"zhubajie"
    });
    //  users        
    db.users.find().count();
    //  users             
    db.users.find({
         username:"sunwukong"});
    // users                     
    db.users.update({
         username:"sunwukong"},{
         $set:{
         address:"huaguoshan"}});
    // users                     
    db.users.replaceOne({
         username:"zhubajie"},{
         username:"tangseng"});
    // users                  
    db.users.update({
         username:"sunwukong"},{
         $unset:{
         address:1}});
    // users                  ,              
    db.users.update({
         username:"sunwukong"},{
         $set:{
         hobby:{
         cities:["beijing","shanghai","shenzhen"],movies:["sanguo","hero"]}}});
    // users                 ,           
    db.users.update({
         username:"tangseng"},{
         $set:{
         hobby:{
         movies:["A Chinese Odyssey","King of comedy"]}}});
    //  users     hobby       hero   
    db.users.find({
         'hobby.movies':"hero"});
    // users                hobby       Interstellar ,     
    db.users.update({
         username:"tangseng"},{
         $push:{
         "hobby.movies":"Interstellar"}});
    // users                hobby       Interstellar ,      
    db.users.update({
         username:"tangseng"},{
         $addToSet:{
         "hobby.movies":"Interstellar"}});
    // users       hobby           
    db.users.remove({
         "hobby.cities":"beijing"});
    //  users  
    db.users.remove({
         });
    db.users.drop();
    // numbers   2000   
    //   
    for(var i=1; i<=2000; i++){
         
        db.numbers.insert({
         num:i});
    }
    db.numbers.find();
    use my_test
    db.numbers.remove({
         });
    //   
    var arr = [];
    for(var i=1; i<2000; i++){
         
        arr.push({
         num:i});
    }
    db.numbers.insert(arr);
    //  numbers num 500   
    db.numbers.find({
         num:500});
    //  numbers num  500   
    db.numbers.find({
         num:{
         $gt:500}});
    db.numbers.find({
         num:{
         $eq:500}});
    //  numbers num  30   
    db.numbers.find({
         num:{
         $lt:30}});
    //  numbers num  40  50   
    db.numbers.find({
         num:{
         $gt:40,$lt:50}});
    //  numbers num  1995   
    db.numbers.find({
         num:{
         $gt:1995}});
    //  numbers    10   
    db.numbers.find({
         num:{
         $lte:10}});
    //limit()         
    db.numbers.find().limit(10);
    //  10  10 skip((  -1)*       ).limit(       )
    db.numbers.find().skip(10).limit(10);
    //  20  10 
    db.numbers.find().skip(20).limit(10);
    //      2000   
    db.emp.find({
         sal:{
         $lt:2000}});
    //     1000-2000     
    db.emp.find({
         sal:{
         $lt:2000,$gt:1000}});
    //      1000   2500   
    db.emp.find({
         $or:[{
         sal:{
         $lt:1000}},{
         sal:{
         $gt:2500}}]});
    //          
    var depno = db.dept.findOne({
         dname:"   "}).deptno;
    db.emp.find({
         deptno:depno});
    //       1000       400 
    db.emp.updateMany({
         sal:{
         $lte:1000}},{
         $inc:{
         sal:400}});
    //     ,       _id      (  )
    //sort()sort()               ,1     -1    ,     ,               
    db.emp.find({
         }).sort({
         sal:1,empno:-1});
    //    ,                     ,1  0  
    db.emp.find({
         },{
         ename:1,_id:0,sal:1});