mongoDB数据库,数据的增删改查方法

     首先我已经默认完成了前面的必要步骤,创建了数据库,并且已经创建了新的集合,接下来我就暂且以goods来命名集合,且我以存入用户简单信息为例.





增:

 db.goods.insert({userId:1,userName:"张三",passWord:"123",age:22,}),

  db.goods.insertOne({userId:2,userName:"张三",passWord:"123",age:22,});

 insert 和  insertOne = 每次都是只能插入一条数据,只可以插入单条,需要以对象的形式

db.goods.insert([

{userId:1,userName:"张三",passWord:"123",age:22},

{userId:2,userName:"张三",passWord:"123",age:22},

])

db.goods.insertMany([

{userId:1,userName:"张三",passWord:"123",age:22},

{userId:2,userName:"张三",passWord:"123",age:22},

])

 insert([ {},{}..]) 和  insertMany([{,{}...}]) = 每次可以插入多条数据,需要以数组的形式进行存储




删(慎用):   

            (只要在数据库的操作中涉及到删除的都要小心,谨慎)

db.goods.deleteOne({userId:2})

删除userId:2的用户信息数据.deleteOne = 每次只能删除一条数据

db.goods.deleteMany({userId:1},{userId:2}....)

删除userId:1 和 userId:2的用户信息数据.deleteMany = 每次可以删除多条数据

db.goods.deleteMany({})

不写条件.删除集合中的所有数据





改:

db.goods.updateOne({userId:1},{$set:{userName:"李四",passWord:456}})

db.goods.updateMany{{userId:2},{$set:{userName:"王五",passWord:"789"}}}

updateOne每次只能修改单条数据,同样的条件下,有多条数据存在,使用updateOne只能修改一条; updateMany每次可以修改多条数据

db.goods.updateOne({userId:1},{$inc:{age:num})

db.goods.updateMany({userId:1},{$inc:{age:-num})

 num=自增,   -num=自减





查: 


db.goods.find()

查询所有数据


db.goods.find({userName:"张三"})

查询指定键值对数据



db.goods.find().pretty()

格式化查询所有数据



db.goods.find({age:22},{userName:1})

指定条件查询:  返回年龄为22的用户名,1表示只返回指定键,这种模式为 inclusion,

db.goods.find({age:22},{userName:0})

指定条件查询:   返回年龄为22的除了用户名之外的所有数据,0表示不需要返回的指定键 ,这种模式为exclusion.    这两种模式之间不能混用,除了不希望返回数据库自带的id或者版本号,其他键不可以即使用inclusion,又使用exclusion,

       比如  db.goods.find({age:22},{userName:0,age:1}) 这样是不行的



db.goods.find({age:22}).limit(5).skip(num)

分页查询: limit = 每页显示多少条数据,skip = 每页从第几条开始显示,默认从第0个索引开始

skip可以通过设定一个变量,进行每页显示条数的更新,比如:num*=index;



db.goods.find({userName:"张三"}).sort({age:1})

排序查询: 查询userName条件的数据,再把数据通过age进行排序, 1 = 升序  -1 = 降序


db.goods.find({userName:"张三"},{$lt:num1,$gt:num2})

db.goods.find({userName:"张三"},{$lte:num1,$gte:num2})

区间查询:    先通过userName查询一个用户名都为""张三""的类,   然后 $lt 是大于 ,  $gt 是小于     ----      $lte 是大于等于 ,   $gte 是小于等于   


db.goods.find({userName:/张/})    或者   db.goods.find({userName:/^张/})

模糊查询:     通过正则进行匹配,第一个是匹配用户名带有指定的字段,第二个匹配用户名以指定字段开头


db.goods.find(  $or: [{userName:"张三"}  ||  {phoneNumber:123123}])

或查询:   多用于登录验证手机号或者用户名, $or是关键字,   手机号或者用户名正确都可以登录


db.goods.find({userName:"张三",phoneNumber:123123})

且查询:  相比于 "或" 查询就简单一些.通过一个花括号进行 "且"判断 , 用户名和电话号码要都正确


db.goods.find("userName")

分类查询:  查询指定字段的数据,去重之后并以数组形式返回

你可能感兴趣的:(mongoDB数据库,数据的增删改查方法)