zoukankan      html  css  js  c++  java
  • MongoDB常用数据库命令第三集

    show dbs 查看已经存在的数据库

    use 数据库名 切换到指定的数据库(无论数据库是否存在 均可切换成功)

    db 查看当前数据库


    db.getCollectionNames() 查看当前数据库下一共有哪些集合

    db.集合名.insert(文档) 向指定的集合录入一条文档
    例如: db.users.insert({username:"xxx",age:98,height:180})
    db.集合名.insert([文档1,文档2]) 向指定的集合插入多条文档
    例如: db.users.insert([
    {username:"黄晓明",age:35,height:180},
    {username:"ab",age:18,height:149}
    ])

    db.集合名.insertMany([文档1,文档2]) 插入多条数据
    db.集合名.insertOne(文档) 插入单条数据

    //==================== 查询 ====================
    db.集合名.find() 查询指定的集合内所有数据


    条件查询

    db.集合名.find({条件},{显示字段})
    条件格式: 属性名:值 ====> 属性==值
    属性名:{条件操作符:值} 其他条件查询

    条件操作符
    $gt : 大于
    $gte : 大于等于
    $lt : 小于
    $lte : 小于等于
    $in : 包含其中一个 注意 $in操作符的值必须为数组类型
    $all : 包含所有 值同上,必须为数组类型
    $nin : 不包含其中任意一个 值要求同上
    $ne : 不等于
    $not : 对已定义好的条件进行取反 {属性:{$not:{条件}}}
    $mod : 取模 (取余) $mod:[x,y] 取所有除x余y的值

    条件的 "且" 和 "或"
    {条件一,条件二} 条件一 且 条件二

    对于同一属性的条件控制 语法可写在一起 例如: 取年龄大于18而且年龄小于50
    {age:{$gt:18,$lt:50}}

    { $or : [ {条件一} , {条件二} ] } 条件一 或 条件二
    "且" "或" 混用
    {条件一 , $or:[{条件二},{条件三}]} 条件一 且 条件二 或 条件三

    其他操作
    .limit(n) 取满足条件的头n条数据
    .skip(n) 跳过n条数据再取数据
    .count() 对满足条件的数据进行计数
    .sort({第一排序条件,第二排序条件,.....}) 按照属性进行排序

    .skip(m).limit(n) 跳过m条数据 再取头n条数据 (调用顺序没有讲究,但是作用效果均为先跳过数据再取数据)

    //==================== 修改 ====================
    db.集合名.update(query,{修改器:{属性:值}},option)
    在默认情况下 修改操作只会操作第一条符合条件的数据
    option 为可选参数, 为对象类型 其下有两个属性
    multi : 布尔值 是否修改所有符合条件的数据 默认false
    upsert : 布尔值 当没有符合条件的数据时 是否创建该数据 默认false

    修改器
    $set : 重新赋值
    $inc : 对值进行叠加(值为正)或递减(值为负) 适用于数字类型的值
    $unset : 删除整个属性(包括属性名及属性值)
    数组修改器
    $push : 给数组类型的值添加一个新元素
    $addToSet : 给数组类型的值添加一个新元素 (该方法不会重复添加已经存在的值,同时也不会影响原来已经存在的重复值)
    $pop : 从尾部删除一条数据 (值的大小不会对结果产生影响 永远只会操作一条数据) (值为正 从尾部删除一条数据 值为负 从头部删除一条数据)
    $pull : 按条件删除数组内元素 {$pull:{属性:值}} 删除指定值的元素


    //==================== 删除 ====================
    db.集合名.remove(query,option)
    默认情况下 会删除所有符合条件的数据
    option 为可选参数 为对象类型 拥有属性
    justOne : 是否只删除第一条符合条件的数据 默认false


    db.users.insert([
    {username:"马云",age:58,height:167,friends:["马化腾","许家印","雷军","李彦宏","柳传志"]},
    {username:"许家印",age:52,height:177,friends:["马化腾","雷军","柳传志"]},
    {username:"雷军",age:48,height:174,friends:["马化腾","董明珠","柳传志"]},
    {username:"雷德承",age:18,height:180,friends:["马化腾","王健林","柳传志"]},
    {username:"王思聪",age:32,height:179,friends:["林更新","林缓存","陈赫","雷军"]}
    ])

    db.users.insert([
    {username:"小明1",age:18},
    {username:"小明2",age:18},
    {username:"小明3",age:18},
    {username:"小明4",age:18},
    {username:"小明5",age:18}
    ])

    {age:{$gt:18}}

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

    年龄小于35 并且身高高于170的人
    条件一 且 条件二
    {age:{$lt:35},height:{$gt:170}}

    年龄小于35 或者 升高高于175的人
    条件一 或者 条件二

    {$or:[
    {age:{$lt:35}},
    {height:{$gt:175}}
    ]}

    年龄大于30 而且 升高小于175 或者 认识许家印
    条件一 而且 条件二 或 条件三
    {条件一,$or : [{条件二},{条件三}]}

    {age:{$gt:30},$or:[{height:{$lt:175}},{friends:{$in:["许家印"]}}]}

    db.users.find({age:{$gt:30},$or:[{height:{$lt:175}},{friends:{$in:["许家印"]}}]},{_id:0})

    每页放y条数据 当前第x页

    db.users.find().limit(y).skip((x-1)*y)

    第一排序条件 年龄
    第二排序条件 身高

  • 相关阅读:
    HDU4405(期望DP)
    hdu4165(简单递推,实则卡特兰数的应用)
    hdu4576(概率DP)
    期望DP(2013山东省赛)
    Nim游戏及其相关拓展
    nginx ubuntu环境下配置 path_info
    iOS 瀑布流的简单实现 UICollectionView
    ThPullRefresh (Swift 版)下拉上拉刷新
    用php搭建博客系统-待续
    面试收录-php面试题
  • 原文地址:https://www.cnblogs.com/lishixiang-007/p/11337877.html
Copyright © 2011-2022 走看看