mongoDB的语句



//====================基本操作======================
db  查看当前数据库名


show dbs 查看当前的所有数据库名


use xxxx  切换到指定的数据库


use xxx 创建数据库(当数据库名不存在时则创建该数据库)
(当数据库为空时 则不会真正创建该数据库 直到数据库中存在内容)


db.dropDatabase() 删除当前数据库


db.集合名.drop() 删除指定集合


db.getCollectionNames() 查看当前数据库下的所有集合名




//====================插入数据======================
db.集合名.insert({}) 向指定的集合内插入文档(数据) 
如果传入的是一个文档 则是插入单条数据  如果传入数组 则可插入多条数据
db.集合名.insertOne({}) 插入单条数据
db.集合名.insertMany([]) 插入多条数据


//====================查询数据======================
db.集合名.find(select,attr)  查询指定集合的数据
attr属性为对象类型  可通过该对象下属性的值来控制查询结果是否显示某一条属性
如果声明了某一个属性的值为1  则其他属性默认不显示 (_id除外,若想_id不显示 则必须设置其值为0)


条件操作符
$gte : 大于等于
$gt : 大于
$lte : 小于等于
$lt : 小于
$ne : 不等于
$not : 取反  db.cars.find({discount:{$not:{$lt:8}}})  取所有折扣 不  小于8  的数据
======适用于数组类型数据筛选======
$in : 包含其中一个
$all : 包含其中所有
$nin : 不包含任意一个
======适用于number类型======
$mod : 取模  ===>   属性 : {$mod : [除数,余数]}  
实例: db.cars.find({discount:{$mod:[5,0]}},{})   取所有折扣为  除5余0  的数据


find().pretty()  将查询到的数据格式化一下 


多条件查询
.find({条件一,条件二})  条件一且条件二
.find({$or : [ {条件一} ,{条件二}]})  条件一 或者 条件二
且或混用
.find({$or:[ {条件一,条件二} ,{条件三} ]})  条件一而且条件二  或者  条件三


.find().limit(n)  取满足条件的头n条数据
.find().skip(n)  跳过n条之后再来开始取数据 
.find().limit(n).skip(n)  跳过n条数据后再取n条数据 (skip方法用在前面和后面没有区别)


.find().sort({price:1,discount:-1})  (值为-1则是降序  1则是升序) 
排序  数据按照价格进行升序排序  如果价格一样  则按照折扣进行降序排序


.find().count()  对满足条件的数据进行数量统计 




//====================更新数据======================


db.集合名.update(select,seter,option)
select 为条件查询
seter为修改操作
option 为对象类型 
    该对象下有两个属性
    multi: 布尔值  是否更新所有满足条件的数据  默认值是false 当值为true时 则更新所有满足条件的数据
    upsert: 布尔值  如果不存在符合条件的数据,是否插入该条数据  默认值false  当值为true时则插入该条数据


修改器:
$set : 直接将新的值替换掉旧的值
$inc : 对原来的值进行增减操作 正值为相加  负值为相减
$unset : 删除属性 (键) 此时指定属性的值无论为正值  负值或者是0  均不会对操作结果产生影响
=========适用于数组=========
$push : 向属性值中添加一个元素
$addToSet : 向属性值中添加一个元素(如果被添加的元素已经存在 则不会再次添加该数据)
$pop : 从头部或者尾部删除一条数据 当值为正值时 代表从尾部删除一条数据  若值为负值则代表从头部删除一条数据
db.cars.update({carnam:"凯迪拉克ATL"},{$push:{tag:"豪华"}})
$pull : 删除满足条件的元素    例如: db.cars.update({carname:"xxx"},{$pull:{tag:"家用"}}) tag中值为"家用"的元素




//====================删除数据======================
db.cars.remove(select,option);
select 需要被删除的数据条件  默认情况下  会删除所有满足条件的数据
        如果要一次性删除集合内的所有数据 则remove()内必须要添加一个参数,即便是空对象  即: .remove({})
option 为对象
    justOne: 是否只删除符合条件的第一条数据  默认值是false  当值为true的时候 会只删除符合条件的第一条数据






查询所有  折扣数小于8  或者价格大于等于450000


db.cars.find({discount:{$lt:8},price:{$gte:450000}},{_id:0})








db.cars.find({$or:[{discount:{$lt:8}},{price:{$gte:450000}}]})


{条件一,条件二}
{ $or : [ 
    {条件一} ,{条件二}
    ]
}


条件一而且条件二  或者  条件三


价格小于等于45w而且拥有跑车气质  或者价格大于等于100w


db.cars.find({$or:[{price:{$lte:450000},tag:{$in:["跑车"]}},{price:{$gte:1000000}}]})




{ $or : [ 
    {条件一,条件二} ,{条件三}
    ]
}




db.cars.find({price:{$lte:450000}}).count()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值