mongo数据库的操作使用

下载完mongo安装后
  1. 建立数据连接池(先找找不到执行启动失败的操作)
    - 在我的电脑,右键,管理,服务和应用程序,服务,找到MongoDB服务项,右键,启动
    - 启动成功,表示自动建立成功
    - 找到mongo的安装目录
    - 使用cmd进入bin文件夹
    - 执行:mongo,回车,输入help,查看帮助信息
    - 能看到帮助信息,OK

!!!- 启动失败,需要手动建立连接池(或没找到MongoDB服务,或免安装版)
- 找到mongo的安装目录,
- 在某个盘的根目录,新建一个data文件夹
- 使用cmd进入bin文件夹
- 在cmd中执行:mongod --dbpath 刚才的data文件夹的绝对路径,回车
- 再开启一个新的cmd,进入bin文件夹
- 执行:mongo,回车,输入help,查看帮助信息
- 能看到帮助信息,OK

2. 登录
- 在进入了bin文件夹的cmd中,执行:`mongo`,回车
- 输入help,查看帮助信息,能看到帮助信息,OK
- 此时可以进行mongo数据库的操作

mongoDB数据库的帮助

命令说明
help帮助文档
db.help()数据库帮助文档
db.test.help()数据库集合帮助文档
db.test.find().help()数据库集合查询帮助文档

数据库操作

  1. 创建并选择文档(无则创建,有则选择)
    use dbName
  2. 查询
    db
    查看当前数据库
    show dbs
    查看所有数据库
    注:在查看所有数据库时,不显示空数据库
  3. 显示数据库信息
    db.start() 查看数据库状态信息
    db.getMongo() 查看数据库连接地址
    db.version() 查看数据库版本信息
    db.getName() 查看当前数据库名称
  4. 删除数据库----慎用
    db.dropDatabase()

集合的创建

  1. 创建集合 db.createCollection(name,options)

    name :集合名,字符 options:可选,为对象(一般默认)

  2. 删除集合 db.colName.drop()
  3. 查看所有集合 show collections
  4. 查看当前集合名称 db.getCollectionNames() (数组形式显示)

数据的操作

1.用户信息设计
 - 用户名:	name
 - 年  龄: 	age
 - 城  市: 	city
增加数据 (colName为创建的数据集合)
插入单条:db.colName.insert({})
插入多条:db.colName.insert([{},{},...])
插入单条:db.colName.insertOne({})
插入多条:db.colName.insertMany([{},{},…]) **node中只支持这条**
删除数据
根据指定的键值对条件:
删除单条数据:db.colName.deleteOne({key:val})
删除多条数据:db.colName.deleteMany({key:val})
删除所有数据:db.colName.deleteMany({}) 
修改数据
根据指定的键值对条件:
修改单条数据:db.colName.updateOne({key:val},{$set:{key1:newVal,key2:newVal}})
修改多条数据:db.colName.updateMany({key:val},{$set:{key1:newVal,key2:newVal}})
Num为正自增,为负自减
自增/自减单条数据:db.colName.updateOne({key:val},{$inc:{key1:num}})
自增/自减多条数据:db.colName.updateMany({key:val},{$inc:{key1:num}})
查询数据
  1. 基本查询所有数据 db.colName.find()

  2. 格式化查询所有数据:db.colName.find().pretty() 更好的查看数据

  3. 指定键值对条件查询:db.colName.find({key:val})

  4. 指定条件查询(可以为{}表示所有数据),并限制字段显示:

    db.colName.find({key:val},{userName:1, pass:1})
    · 第二个对象设置字段为1是inclusion模式,指定返回的键,不返回其他键
    db.colName.find({key:val},{userName:0, pass:0})
    · exclusion模式,指定不返回的键,返回其他键
    两模式不能同时设置
    ·注意:_id默认返回,如果不需要,需主动设置_id:0 此可与inclusion共同存在

  5. 分页查询:

    db.colName.find({key:val}).limit(num).skip(start)

    num:表示个数
    start:表示起始索引,默认为0
    从第index*num也开始查询,查询num条,index为当前页码的索引
    
  6. 排序查询:

    db.colName.find({key:val}).sort({key:1})

    1升序,-1降序

  7. 区间查询: - 如价格区间
    db.colName.find({ key: {$lt:val1, $gt:val2} })

    小于val1,大于val2
    db.colName.find({ key: {$lte:val1, $gte:val2} })
    小于等于val1,大于等于val2
    $lt 小于 $gt 大于 $lte 小于等于 $gte 大于等于

  8. 模糊查询: - 搜索

db.colName.find({ key: /val/})
查询key中包含val的数据
db.colName.find({ key: /^val/})
查询key中包含val且以val开头的数据(中写正则)

  1. 或查询: - 用户名或手机号登录

db.colName.find({ $or: [{key1:val1},{key2:val2}] })
查询key1为val1或key2为val2的数据

  1. 且查询:

db.colName.find({ key1:val1, key2:val2 })
查询key1为val1且key2为val2的数据

11.获取指定字段的数据: - 分类

db.colName.distinct("key")
获取指定字段的所有数据,去重并以数组的形式返回

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值