MongoDB(二)追加削除--私たちがよく知っている操作

12786 ワード

MongoDBを起動する方法とshellで接続する方法について説明しましたが、mysqlでよく知っている操作を紹介します.データベースの作成
MongoDB             :

```
use DATABASE_NAME
```

        ,      ,          。
  

```shell
> use zxmantou
switched to db zxmantou
> db
zxmantou
>
```
       db   zxmantou ,   **show dbs**         

```shell
> show dbs
admin  0.000GB
local  0.000GB
test   0.000GB
```
             .     ,      zxmantou          。

```shell
> db.user.insert({name:"zxmantou"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin     0.000GB
local     0.000GB
test      0.000GB
zxmantou  0.000GB
>
```
  • データベースを削除現在のデータベースを削除します.デフォルトはtestです.次の例では、新規zxmantouライブラリを削除します.
    > show dbs
    admin     0.000GB
    local     0.000GB
    test      0.000GB
    zxmantou  0.000GB
    > db
    zxmantou
    > db.dropDatabase()
    { "dropped" : "zxmantou", "ok" : 1 }
    > show dbs
    admin  0.000GB
    local  0.000GB
    test   0.000GB
  • 削除集合(削除データテーブル)削除集合削除構文フォーマットは、
    db.COLLECTION_NAME.drop()
    例:
    > use zxmantou
    switched to db zxmantou
    > show tables
    user
    > db.user.drop()
    true
    > show tables
    >
  • である.
  • 挿入ドキュメント(新規レコード)MongoDBはinsert()またはsave()メソッドを使用してセットにドキュメントを挿入します.構文は次のとおりです.
    db.COLLECTION_NAME.insert(document)
    インスタンス:
    > use zxmantou
    switched to db zxmantou
    > db.user.insert({
    ... name:"zxmantou",
    ... age:"27",
    ... gender: "male",
    ... site: "www.zhangyuxiaojiao.com"
    ... })
    WriteResult({ "nInserted" : 1 })
    > db.user.find()
    { "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"), "name" : "zxmantou", "age" : "27", "gender" : "male", "site" : "www.zhan
    gyuxiaojiao.com" }
    >
    以上のインスタンスではuserは私たちのセット名(データテーブル名)です.このセットがデータベースにない場合、MongoDBは自動的にセットマージ挿入ドキュメント(行レコード)を作成します.
  • 更新ドキュメント(更新レコード)MongoDBは、update()およびsave()メソッドを使用して、セット内のドキュメントを更新します.次に、2つの関数の応用とその違いを詳しく見てみましょう.5.1 Update()メソッド:update()メソッドは、既存のドキュメントを更新するために使用されます.構文フォーマットは次のとおりです:
    ```
    db.COLLECTION_NAME.update(
       ,
       ,
       {
         upsert: ,
         multi: ,
         writeConcern: 
       }
    )
    ```
    
            :
      query : update     ,  sql update   where   。
      update : update            ( $,$inc...) ,      sql update   set   
      upsert :   ,        ,     update   ,    objNew,true   ,   false,   。
      multi :   ,mongodb    false,           ,       true,                。
      writeConcern :  ,       。
    

    私たちはさっき記録を挿入して、今それを修正しました:
    > db.user.find()
    { "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"), "name" : "zxmantou", "age" : "27", "gender" : "male", "site" : "www.zhan
    gyuxiaojiao.com" }
    > db.user.update({'name':'zxmantou'},{$set:{'age':18}})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.user.find().pretty()
    {
            "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
            "name" : "zxmantou",
            "age" : 18,
            "gender" : "male",
            "site" : "www.zhangyuxiaojiao.com"
    }
    >
    年齢が18歳になったことがわかります~5.2 save()メソッドsave()メソッドは、入力されたドキュメントを通じて既存のドキュメントに置き換えられます.構文フォーマットは次のとおりです:
    db.collection.save(
           <document>,
           {
             writeConcern: 
           }
        )
            :
            document :     。
            writeConcern :  ,       。    
    

    例:次の例で置き換えました.id 58 e 4 d 75 bbe 3140034 aeb 2 ba 1のドキュメントデータ:
    > db.user.save({
    ... "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
    ...     "name" : "zhangyuxiaojiao",
    ...     "gender" : "male",
    ...     "age" : "27",
    ...     "site" : "zxmantou.github.io"
    ... })
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.user.find().pretty()
    {
            "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
            "name" : "zhangyuxiaojiao",
            "gender" : "male",
            "age" : "27",
            "site" : "zxmantou.github.io"
    }
    >
    より多くのインスタンス
  • 最初のレコードのみ更新:
    db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
  • すべて更新:
    db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
  • 第1条のみ追加:
    db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
  • すべて追加:
    db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
  • すべて更新:
    db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
  • 最初のレコードのみ更新:
    db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
  • ドキュメント削除(レコード削除)remove()メソッドの基本構文フォーマットは、次のとおりです.
    db.collection.remove(
       <query>,
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
    )
                :
        query :(  )        。
        justOne : (  )     true   1,        。
        writeConcern :(  )       。
    

    例:
  • > db.user.find().pretty()
    {
            "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
            "name" : "zhangyuxiaojiao",
            "gender" : "male",
            "age" : "27",
            "site" : "zxmantou.github.io"
    }
    > db.user.remove({'name':'zhangyuxiaojiao'})
    WriteResult({ "nRemoved" : 1 })
    > db.user.find().pretty()
    >

    すべてのデータを削除する場合は、次の方法を使用します(通常のSQLのtruncateコマンドと同様).
    >db.col.remove({})
  • ドキュメント(クエリーレコード)をクエリーする前の例では、find()メソッドを使用してすべてのレコードをクエリーする方法を示しています.次の内容では、複雑なクエリー方法
  • について詳しく説明します.