mongodb常用指令语法,进阶操作语法

/*1.基本常用指令
-查询所有的数据库
show dbs
进入要进行操作数据库
use project(数据库名称)
删除数据库
-db.dropDatabase()
删除文档
-db.drop()
-进入需要操作的集合
show collections
-查询所有的集合
*/

/*2.代指集合文档,

mongodb插入指令

db.<collections>.insert()插入语句
-向集合中插入一条或多条语句(以数组的方式[{},{}])
-当我们向集合中插入数据,会自动给我们插入一个"_id",目的是作为文档的唯一标识,以时间轴的方式比配ID
-"_id"默认ID可以修改
db.<collections>。insertOne()
-插入一条语句
db.<collections>.insertMany()
-插入多条语句

查询指令

db.<collections>.find();
-查询全部文档内容
db.<collections>.findOne();
-查询一个满足条件的第一个文本内容
db.<collections>.findMany();
-多文本内容查询,默认查询符合满足条件的第一个内容
db.<collections>.find().count()
-查询所有结果的数量

修改指令

###db..update(查询条件,新对象)
-替换 update()默认情况会用新对象替换旧对象 ,修改一个
我们一般用另一种方式来修改 用$set来修改指定属性值
$unset:删指定属性值

db.stus.updateMany({查询要进行修改具体数据},
         {
             $unset:{//删除指定属性操作
              sex:' ',//'里面随便写什么值,属性都会删除'为空
              age:' ',
              adress:'a',
             }
         }` 
)
db.stus.update({查询要进行修改具体数据},
        {
          $set:{
          adress:'啊啊啊',
              }
          },
          {
              multi:true//传入属性,修改多个
          }    
)
-update默认只修改一个,使用属性multi:true,
db.<collections>.updateMany()
-修改符合条件多个文本内容
db.<collections>.updateOne()
-修改一个文本内容
db.<collections>.replaceOne();
-新对象替换旧对象

删除指令

db.<collections>.remove()
-删除默认删除该文档中全部文本内容,第二个参数专递一个true,这只删除一个
-remove({})如果专递一个空对象 这删除全部文本内容,
-remove()不传参数报错
db.<collections>.deleteOne()
-删除一个文档文本内容
db.<collections>.deleteMany();
-删除多个文本内容

db.dropDatebase()
-删除数据库
db.drop()
-删除文档
*/

进阶型,同时我也举例了一些进阶型的操作指令

//---在内嵌文档时如何进行查询就该操作 如果要查找则需要用到引号 db.<collection>.find({"hobbise.city":'内容'})
//	---对数据库中以$push方法添加到数组中新元素 db.collection.update({naem:' '},{$push:{"字段名.数组名":'内容'}})
//	---$addtToSet方法,向数组中添加一个 新元素 如果该元素有就不会添加
//	---MongoDB一些常用操作符$gt(>) $gte(>=) $lt(<) $lte(<=) $eq(操作满足条件的数据) 
//	---MongoDB 对操作分页的数据大小的属性值 skip()--》指定跳过数据条数 limit()-->限制数据的大小 sort()---> 0升序 -1 降序
//  ---具体可以详细浏览MongoDB官网文档,或者查看下列操作
 
show dbs//查询数据库
show collections//查询集合
use my_test//进入要操作的数据库
db.createCollection('users')//创建一个集合
db.users.insert([{name:'孙悟空',age:18,adress:'shanghai'},{name:'tangseng'}])
db.users.find()
db.users.update({name:'孙悟空'},{name:'tangseng'})
//向user集合文档为孙悟空,添加一个hobbise:{{city:['shanghai,'hero']}}

 
db.users.update(
        {name:'孙悟空'},
        {$set:{
            hobbise:{city:['shanghai','hero']}
            }
        }
)
db.users.update(
        {name:'孙悟空'},
        {$unset:{
        adress:''
            }
        }
)
//向user集合文档为tangseng,添加一个hobbise:{movie:['大话西游','多来爱梦'}
db.users.update(
        {name:'tangseng'},
        {$set:{
        hobbise:{movie:['大话西游','多来爱梦']}
            }
        }
)

//查询喜欢的hello
//mongoDB中支持直接通过内嵌文档进行查询,如果要查询文档则要通过.的形式比配
//如果要通过内嵌文档进行查询则必须要用引号–>db.users.find({“hobbise.citye”:“hello”})
db.users.find()
db.users.find({“hobbise.citye”:“hello”})
//向tangseng中添加一个电影猫和老鼠‘
// p u s h / / push 向数组中添加一个新的元素 // addToSet 向数组中添加一个元素 如果元素有,则不会添加

db.users.update(
    {name:'tangseng'},
    {$push:{
            "hobbise.movie":'猫和老鼠'
        }
    }

)
db.users.update(
    {name:'tangseng'},
    {$addToSet:{
            "hobbise.movie":'猫和老鼠'
        }
    }

)

db.users.find()
//删除喜欢shanghai的用户
db.users.remove({‘hobbise.city’:‘shanghai’})
//删除文档
db.users.remove({})//没有删除文档,只是删除文档中所有的文本内容
show collections
db.users.drop()
show collections

//向numbers集合中插入20000条数据
//用for循环对数据进行插入则需要6.2s执行完成
for(var i=1 ; i<=20000;i++){
    db.numbers.insert({num:i})
}
//而用数据的方法只需要就能0.3s执行完成,极大的提高了性能
var arr = []
for(var i=1;i<=20000;i++){
    arr.push({num:i});
}
db.numbers.insert(arr)
db.numbers.remove({});
db.numbers.find()
//查询numbers中num的数据为500的文档
db.numbers.find({num:500})
//查询numbers中大于5000的文档//操作符$gt(>) $gte(>=) $lt(<) $lte(<=)
db.numbers.find(
        {
        num:{$gt:500}
        }        
)
db.numbers.find({num:{$gte:500}})
db.numbers.find({num:{$eq:500}})//查询到五百 $eq 返回与自身符合条件的一条数据
//查询numbers中小于50的文档
db.numbers.find({num:{$lt:50}})//小于五十的数据
db.numbers.find({num:{$lte:50}})//小于等于50的数据
//查询numbers中大于40小于50的文档
db.numbers.find({num:{$gt:40,$lt:50}})
db.numbers.find({num:{$gte:40,$lte:50}})//大于等于40小于等于50的文档
//查询numbers中大于19997的文档
db.numbers.find({num:{$gt:19997}})

//查看numbers集合中的前十条数据
db.numbers.find({num:{$lt:10}})//会查询到,但是如果中间少了578几条数据 ,那么他还会查询到前十条数据吗
//所以MongoDB中一个属性limit()-->一个限制属性

db.numbers.find().limit(10)

//查看numbers集合中的第十一条数据到第20条
//所以MongoDB中一个属性skip()数据 跳过指定的数据条数进行查询
db.numbers.find({num:{$gt:10,$lt:20}})//会查询到,但是如果中间少了相应几条数据,那么查到的数据将不符合,有局限性
db.numbers.find().skip(10).limit(10)
db.numbers.find().limit(10).skip(10)//这样会查询到吗,会因为MongoDB会自动匹配顺序
//查看numbers集合中的第二十一掉到30条数据
db.numbers.find().skip(20).limit(10)
//属性sort() limit() skip()三种属性组合可以随意排列文档顺序

– 一种分页思想,页码*页面大小=总页码(总的数据条数将其分页)

发布了8 篇原创文章 · 获赞 0 · 访问量 1674

猜你喜欢

转载自blog.csdn.net/NanQiao1716/article/details/104507100