zoukankan      html  css  js  c++  java
  • mongodb 基本操作

    mongodb基本操作

    1.基本操作

    1.连接mongodb
    [mongo@redis01 ~]$ mongo
    
    # 创建用户
    添加用户
    db.createUser( {
        user: "sa",
        pwd: "sa",
        roles: [ { role: "root", db: "admin" } ]
      });
    
    db.auth('sa','sa');
    
    2.查看库
    > show databases 或 > show dbs
    admin   0.000GB			#系统预留库
    config  0.000GB			#Mongodb配置信息库
    local   0.000GB			#本地库,存储日志
    
    3.查看当前库
    > db
    test					#登录式默认的库
    
    4.切换库
    > use admin
    switched to db admin
    
    5.查看集合
    > show tables 或  show collections
    system.version
    
    6.退出mongodb
    > exit
    > quit()
    

    2.插入数据

    1)单条数据插入
    > db.jihe.insert({id:'1'})
    
    > db.jihe.insert({id:"2",name:"qiudao",age:"18"})
    WriteResult({ "nInserted" : 1 })
    
    > db.jihe.insertOne({id:"3",name:"egon",age:"99",sex:"weizhi"})
    {
    	"acknowledged" : true,
    	"insertedId" : ObjectId("5fd25be228aabf6e1ac24db7")
    }
    
    2)多条数据插入
    > db.jihe.insertMany([{id:"4",name:"lhd",age:"20",sex:"nan",tall:"182"},{id:"5",name:"zengdao",age:"25",sex:"nan",tall:"180"}])
    {
    	"acknowledged" : true,
    	"insertedIds" : [
    		ObjectId("5fd25cfe28aabf6e1ac24db8"),
    		ObjectId("5fd25cfe28aabf6e1ac24db9")
    	]
    }
    
    3)多条数据插入,数据多条件
    > db.jihe.insertMany([{id:"1",name:"qiudao",age:"18",figure:{tall:"120",weight:"120"}},{id:"2",name:"egon",age:"88",figure:{tall:"160",weight:"200"}},{id:"3",name:"lhd",age:"20",figure:{tall:"182",weight:"220"}}])
    {
    	"acknowledged" : true,
    	"insertedIds" : [
    		ObjectId("5fd25e6728aabf6e1ac24dba"),
    		ObjectId("5fd25e6728aabf6e1ac24dbb"),
    		ObjectId("5fd25e6728aabf6e1ac24dbc")
    	]
    }
    

    3.查询数据

    1)查询集合所有数据
    > db.jihe.find()
    
    2)查询一条数据
    #查看第一条数据,始终是第一条
    > db.jihe.findOne()
    { "_id" : ObjectId("5fd25b5228aabf6e1ac24db5"), "id" : "1" }
    
    3)指定条件查询
    #条件一定要加引号
    > db.jihe.findOne({name:"qiudao"})
    {
    	"_id" : ObjectId("5fd25b8928aabf6e1ac24db6"),
    	"id" : "2",
    	"name" : "qiudao",
    	"age" : "18"
    }
    
    4)查询指定多条件
    #表示多条件同时匹配
    > db.jihe.find({name:"qiudao",id:"1"})
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dba"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbd"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    
    #表示多条件或者匹配
    > db.jihe.find({$or:[{name:"qiudao"},{name:"lhd"}]})
    { "_id" : ObjectId("5fd25b8928aabf6e1ac24db6"), "id" : "2", "name" : "qiudao", "age" : "18" }
    { "_id" : ObjectId("5fd25cfe28aabf6e1ac24db8"), "id" : "4", "name" : "lhd", "age" : "20", "sex" : "nan", "tall" : "182" }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dba"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dbc"), "id" : "3", "name" : "lhd", "age" : "20", "figure" : { "tall" : "182", "weight" : "220" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbd"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbf"), "id" : "3", "name" : "lhd", "age" : "20", "figure" : { "tall" : "182", "weight" : "220" } }
    
    5)查询指定范围条件
    #查找年龄小于20的
    > db.jihe.find({age:{$lt:"20"}})
    { "_id" : ObjectId("5fd25b8928aabf6e1ac24db6"), "id" : "2", "name" : "qiudao", "age" : "18" }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dba"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbd"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    
    #查找年龄大于30的
    > db.jihe.find({age:{$gt:"30"}})
    { "_id" : ObjectId("5fd25be228aabf6e1ac24db7"), "id" : "3", "name" : "egon", "age" : "99", "sex" : "weizhi" }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dbb"), "id" : "2", "name" : "egon", "age" : "88", "figure" : { "tall" : "160", "weight" : "200" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbe"), "id" : "2", "name" : "egon", "age" : "88", "figure" : { "tall" : "160", "weight" : "200" } }
    
    #查找年龄在20到50之间的
    > db.jihe.find({age:{$gt:"20",$lt:"50"}})
    { "_id" : ObjectId("5fd25cfe28aabf6e1ac24db9"), "id" : "5", "name" : "zengdao", "age" : "25", "sex" : "nan", "tall" : "180" }
    
    #查找年龄大于10岁或身高大于120的
    > db.jihe.find({$or:[{age:{$gt:"10"}},{"figure.tall":{$gt:"120"}}]})
    { "_id" : ObjectId("5fd25b8928aabf6e1ac24db6"), "id" : "2", "name" : "qiudao", "age" : "18" }
    { "_id" : ObjectId("5fd25be228aabf6e1ac24db7"), "id" : "3", "name" : "egon", "age" : "99", "sex" : "weizhi" }
    { "_id" : ObjectId("5fd25cfe28aabf6e1ac24db8"), "id" : "4", "name" : "lhd", "age" : "20", "sex" : "nan", "tall" : "182" }
    { "_id" : ObjectId("5fd25cfe28aabf6e1ac24db9"), "id" : "5", "name" : "zengdao", "age" : "25", "sex" : "nan", "tall" : "180" }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dba"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dbb"), "id" : "2", "name" : "egon", "age" : "88", "figure" : { "tall" : "160", "weight" : "200" } }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dbc"), "id" : "3", "name" : "lhd", "age" : "20", "figure" : { "tall" : "182", "weight" : "220" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbd"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbe"), "id" : "2", "name" : "egon", "age" : "88", "figure" : { "tall" : "160", "weight" : "200" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbf"), "id" : "3", "name" : "lhd", "age" : "20", "figure" : { "tall" : "182", "weight" : "220" } }
    

    4.修改数据

    1)修改一条数据
    > db.jihe.updateOne({name:"qiudao"},{$set:{age:"222"}})
    { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
    
    > db.jihe.find({name:"qiudao"})
    { "_id" : ObjectId("5fd25b8928aabf6e1ac24db6"), "id" : "2", "name" : "qiudao", "age" : "222" }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dba"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbd"), "id" : "1", "name" : "qiudao", "age" : "18", "figure" : { "tall" : "120", "weight" : "120" } }
    
    2)修改多条数据
    > db.jihe.updateMany({name:"qiudao"},{$set:{age:"222"}})
    { "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 2 }
    
    > db.jihe.find({name:"qiudao"})
    { "_id" : ObjectId("5fd25b8928aabf6e1ac24db6"), "id" : "2", "name" : "qiudao", "age" : "222" }
    { "_id" : ObjectId("5fd25e6728aabf6e1ac24dba"), "id" : "1", "name" : "qiudao", "age" : "222", "figure" : { "tall" : "120", "weight" : "120" } }
    { "_id" : ObjectId("5fd25efe28aabf6e1ac24dbd"), "id" : "1", "name" : "qiudao", "age" : "222", "figure" : { "tall" : "120", "weight" : "120" } }
    

    5.删除数据

    1)删除单条数据
    > db.jihe.deleteOne({id:"1"})
    { "acknowledged" : true, "deletedCount" : 1 }
    
    2)删除多条数据
    > db.jihe.deleteMany({id:"1"})
    { "acknowledged" : true, "deletedCount" : 2 }
    
    3)删除集合
    > db.jihe.drop()
    true
    
    6.建库
    #切换库,库不存在也可以切换
    > use database
    switched to db database
    
    #插入数据建集合
    > db.table.insert({id:"1"})
    WriteResult({ "nInserted" : 1 })
    
    #查看集合
    > show tables
    table
    
    #查看库,库已经建好了
    > show databases
    admin     0.000GB
    config    0.000GB
    database  0.000GB
    local     0.000GB
    test      0.000GB
    
  • 相关阅读:
    添加AdMob的Native广告
    androidx.recyclerview.widget.RecyclerView的使用方法
    androidx.recyclerview.widget.RecyclerView 使用记录
    ViewPager使用
    小程序加载云端数据库中的第二页数据,前端如何动态显示?
    小程序页面跳转传递参数
    小程序云端函数 where遇到的问题
    Python 加载包含多个JSON对象的JSON文件
    如何把一个目录下的中文名字的文件全部变成拼音命名的文件?
    小技巧--解决eclipse导入的jar文件后,无法使用默认包中的方法问题
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14117023.html
Copyright © 2011-2022 走看看