zoukankan      html  css  js  c++  java
  • MongDB增删改查

    增加

    增加一条:db.th.insertOne({}) // 返回 _id 
    增加多条:db.th.insertMany([{},{},{}]) // 返回 _ids
    
    针对Array增加操作:
    db.stu.updateOne({name:"wl"},{$push:{"hobby":"小姐姐"}}) #增加一个
    db.stu.updateOne({name:"wl"},{$pushAll:{"hobby":[1,2,3]}}) #增加多个

    查询

    db.th.find({})  #查询所有符合条件的数据 
    db.th.findOne({})  #查询符合条件的第一条数据 
    
    db.th.findOne({name:2})  #查询name字段 == 2 的数据
    db.stu.find({name:"2",age:99})  #并列条件 name与age 同时满足的
    
    数学比较符 $lt $lte $gt $gte $eq $ne
    db.user.find({age:{$gt: 18}})

    $all : 子集查询 db.stu.find({l:{$all:[
    8,6,4,2]}}) Object 查询 : db.stu.find({"class.name":"python"}) 并列查询 db.Collection.find({Field:1,Field2:2}) 或查询 db.Collection.find({$or:[{Field:1},{Field2:3}]}) db.stu.find({$or:[{age:99},{ages:666}]}) # 在不同字段查询或条件时使用$or db.Collection.find({Field:{$in:[1,2,3,4,5]}}) db.stu.find({age:{$in:[9,99,999,9999,9999]}}) #在相同字段情况下查询或条件时使用 $in

    修改

    db.stu.updateOne({age:99}, {$set:{"name":"JW8"}}) #更新第一条符合条件的数据:
    
    修改器:$set 强制将某字段的value修改
    db.stu.updateMany({age:99}, {$set:{"name":"JW8"}})  #更新所有符合条件的数据 
    
    
    $set : 强制修改字段值 
    $inc : 引用增加 db.stu.updateMany({}, {$inc: {"age":10}}) #所有的age增加10,可以写负数为减少
    $unset: 强制删除某个Field db.stu.updateMany({}, {$unset: {"age":1}}) # 删除所有的age 1为True
    
    
    针对Array:更新元素
    db.stu.updateOne({name:"wl","hobby":2},{$set:{"hobby.$":"1"}})  
    db.stu.updateOne({name:"JW8","class.name":"python"},{$inc:{"class.$.score":10}})
    
    
    
    db.stu.updateOne({name:"wl"},{$unset:{"class.classtype":"bcyy"}})
    db.stu.updateOne({name:"wl"},{$set:{"class.classtype":"bcyy"}})

    删除

    db.th.deleteOne({name:1}) # 删除第一条符合条件的数据 
    db.th.deleteMany({name:1})  #  删除符合条件的所有数据
    db.th.deleteMany({}) # 删除所有数据 
    
    
     针对Array删除操作:
    db.stu.updateOne({name:"wl"},{$pull:{"hobby":"DSB"}}) #删除一个
    db.stu.updateOne({name:"wl"},{$pullAll:{"hobby":[2,3]}}) #循环删除
    
    $pop() 是删除列表中的第一个 (-1) 或者最后一个 (1) 
    db.stu.updateOne({name:"wl"},{$pop:{"hobby":1}})删除最后一个
    db.stu.updateOne({name:"wl"},{$pop:{"hobby":-1}})删除第一个元素

    $关键字

    用来存储符合条件的元素下标索引,只保存第一个符合条件的
     l = [1,2,3,1,2,2,2] 哪个元素 == 2 它的下标是多少 $就等于这个下标的数字
     l[1] = "wl"
     l[$] = "wl"
    db.stu.updateOne({name:"wl","hobby":2},{$set:{"hobby.$":"qwe"}}) #修改hobby第一个为2的元素修改为qwe,$为下标

    分页

    limit skip sort
    limit 选取数据量
    skip 跳过数据量
    sort 根据字段进行排序
    db.stu.find().sort({ name:1 }).skip(6).limit(3)
  • 相关阅读:
    [bzoj4025]二分图
    [hdu4010]: Query on The Trees
    [bzoj3514]: Codechef MARCH14 GERALD07加强版
    [hdu3943]K-th Nya Number
    [hdu5632][BC#73 1002]Rikka with Array
    在Eclipse中使用建立使用Gradle做依赖管理的Spring Boot工程
    Spring Boot 添加Shiro支持
    常用Linux命令
    HTML5之API
    JavaScript的客户端存储
  • 原文地址:https://www.cnblogs.com/wanglan/p/10604790.html
Copyright © 2011-2022 走看看