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)
  • 相关阅读:
    svn创建分支问题.未提交就创建分支
    中文繁简字对照表(继) 保留一简多繁的映射关系
    struts2配置json,警告:no result type defined for type 'json'
    eclipse更改修改编码方式的几种方法
    URLConnection简单爬虫(转)
    eclipse更改文件编码方式
    java学习笔记十——堆和栈的理解
    java学习笔记九——构造函数、方法重写、重载
    java学习笔记三——数据类型转换
    java学习笔记二——数据类型
  • 原文地址:https://www.cnblogs.com/wanglan/p/10604790.html
Copyright © 2011-2022 走看看