MongoDBデータベース基礎操作まとめ


この実例はMongoDBデータベースの基礎操作について述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
1.データベースの作成

>use test
 
> db.test.insert({"name":1})
  • を挿入してからtest
  • を確認できます。
    2.データベースの表示
    
    >show dbs
    3.データベースの削除
    
    > use test
     
    > db.dropDatabase()
    
    4.集合を作成する
    4.1集合概念
  • セットはドキュメントのセットで、複数のレコードに相当します。
  • 
    > db.title.insert({"name":"hyx"})
  • を挿入してセット
  • を作成します。
    5.集合を確認する
    
    > show collections
    6.セットを削除する
    
    >use test
     
    >db.title.drop()
    
    7.ドキュメントの挿入
    7.1文書概念
  • 個以上のキーとその関連する値が並べられているのが文書です。
  • 文書は、jsonデータ
  • と類似している。
    
    > db.file.insert({name:"huangyuxin",age:11})
    
    8.ドキュメントの表示
    
    >db.files.find()
    9.変数方式でドキュメントを挿入する
    
    > document=({by:"hyx"})
    { "by" : "hyx" }
    > db.file.insert(document)
    WriteResult({ "nInserted" : 1 })
    > db.file.find()
    { "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "huangyuxin", "age" : 11 }
    { "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "by" : "hyx" }
    >
    
    10.複数の項目を同時に挿入する
    
    > var res = db.file.insertMany([{"b": 3}, {'c': 4}])
    > res
    {
        "acknowledged" : true,
        "insertedIds" : [
            ObjectId("5c6e8bba0fc535200b893f2b"),
            ObjectId("5c6e8bba0fc535200b893f2c")
        ]
    }
    > db.file.find()
    { "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "huangyuxin", "age" : 11 }
    { "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "by" : "hyx" }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }
    >
    
    11.文書の更新
    
    > db.file.update({"name":"huangyuxin"},{$set:{"name":"hyx"}})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.file.find()
    { "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }
    { "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "by" : "hyx" }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }
    { "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }
    >
    
    
    > db.file.save({"_id" : ObjectId("5c6e8b1c0fc535200b893f2a"),"name":"hyx"})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.file.find()
    { "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }
    { "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "name" : "hyx" }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }
    { "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }
    >
    
    12.文書の削除
    12.1指定文書を削除する
    
    > db.title.find()
    { "_id" : ObjectId("5c6e89060fc535200b893f27"), "name" : "yx" }
    > db.file.find()
    { "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }
    { "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "name" : "hyx" }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }
    { "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }
    > db.file.remove({"b":3})
    WriteResult({ "nRemoved" : 1 })
    > db.file.find()
    { "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }
    { "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "name" : "hyx" }
    { "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }
    { "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }
    >
    
    12.2すべての文書を削除する
    
    >db.file.deleteMany({})
    12.3複数の文書を削除する
    
    >db.file.deleteMany({ status : 1 })
  • 現在のライブラリのすべてのstatusを削除する
  • 13.条件式
    13.1$gtが大きい
  • クエリメッセージが0より大きいデータ
  • 
    > db.title.find({age:{$gt : 0}})
    { "_id" : ObjectId("5c6f7d633ea8783bbfb7fd5e"), "age" : 10 }
    >
    
    13.2$ltより小さい
    13.3ドルgteが$lte以下であること。
  • クエリメッセージが0以上のデータ
  • 
    > db.title.find({age:{$gte : 1}})
    13.4より小さい
    
    > db.title.find({age:{$lt:13,$gt:10}})
    { "_id" : ObjectId("5c6f7ded3ea8783bbfb7fd5f"), "age" : 12 }
    { "_id" : ObjectId("5c6f7e833ea8783bbfb7fd60"), "age" : 12 }
    >
    
    13.5$neは$eqに等しくない
    14.type操作符
  • ドルtypeオペレータは、BSONタイプに基づいて、セットにマッチするデータタイプを検索し、結果を返します。
  • 
    > db.title.find({"name" : {$type : 2}})
    { "_id" : ObjectId("5c6e89060fc535200b893f27"), "name" : "yx" }
    >
    
    15.limit()
  • 指定件数
  • を照会する。
    
    > db.title.find().limit(2)
    { "_id" : ObjectId("5c6e89060fc535200b893f27"), "name" : "yx" }
    { "_id" : ObjectId("5c6f7d633ea8783bbfb7fd5e"), "age" : 10 }
    >
    
  • 最初の{}セットの条件は、空のためにセット内のすべてのドキュメントに戻ります。
  • 番目の{}は、それらの列の表示と非表示を指定する(0は1を表示しないことを示す)。
  • 
    > db.title.find({},{"name":1,_id:0}).limit(1)
    { "name" : "yx" }
    >
    
    16.skyp() 
  • はいくつかのデータをスキップします。
  • Skipを簡単に使って検索しないでください。でないと、データ量が大きくなると性能が急激に低下します。これはskypは一本の数ですから、多くなると自然に遅くなります。
  • 17.ソト()
  •  1は昇順で並べられ、-1は降順で並べられます。
  • 
    > db.title.find({},{'age':1,_id:0}).sort({age:1})
    { }
    { "age" : 10 }
    { "age" : 12 }
    { "age" : 12 }
    > db.title.find({},{'age':1,_id:0}).sort({age:-1})
    { "age" : 12 }
    { "age" : 12 }
    { "age" : 10 }
    { }
    >
    
    18.索引
    18.1単一のインデックスを作成する
  • 1は昇順でインデックスを作成することを指定し、降順インデックスは-1
  • に指定されています。
    
    >db.title.createIndex({"age":1})
    18.2複数のインデックスを作成する
    
    >db.title.createIndex({"name":1,"age":-1})
    18.3インデックスを表示する
    
    >db.col.getIndexes()
    18.4インデックスサイズを表示する
    
    >db.col.totalIndexSize()
    18.5すべてのセットインデックスを削除する
    
    >db.col.dropIndexes()
    18.6指定インデックスの削除
    
    >> db.title.dropIndex({'age':1})
    { "nIndexesWas" : 2, "ok" : 1 }
    >
    
    ここで述べたように、みんなのMongoDBデータベースプログラムの設計に役に立ちます。