Mongodb数据库基本命令

本文详细介绍了MongoDB的启动方式及基本操作,包括查看数据库、切换数据库、操作集合、增删改查等核心功能。例如,使用`show dbs`查看数据库,`db.createCollection('musiclist')`创建集合,`db.musiclist.find()`查询集合数据,`db.musiclist.insertMany()`插入多条数据,`db.musiclist.updateOne()`更新数据,以及如何删除数据和集合。此外,还涵盖了各种查询条件如模糊匹配、字段控制和排序等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mongodb启动

       Mongod --dbpath=E:\softwareData\db

操作数据库

  • show dbs : 可以查看当前有几个数据库(数据库必须有内容,才能显示出来)
  • db / db.getName() : 查看当前在哪个数据库下
  • db.stats() : 查看db的状态
  • db.version() : 查看db的版本
  • db.getMongo() : 查看主机的名字
  • db.dropDatabase() : 删除当前数据库
  • use local : 切换到local数据库
  • help : 看mongodb的方法
  • db.help() : 看数据库的方法
  • db.test.help() : 看test数据库的方法
  • bd.test.find().help() : 看find()方法下的方法    

操作集合

  • db.createCollection('musiclist ‘)   创建一个集合
  • db.getCollection('musiclist’)      查看musiclist集合
  • db.getCollectionNames() :       查看当前数据下的所有集合
  • show collections :              可以查看现在有多少个集合
  • db.printCollectionStats() :        查看集合的状态
  • db.musiclist.drop();             删除集合

增删改查

查:

  • db.集合名.find() : 可以查看到集合中具体的文档数据内容
  • db.集合名.find().count() : 可以查看这个集合的文档个数
  • db.集合名.find({"_id":""}) : 可以通过参数来进行筛选
  • db.集合名.find({"_id":""},{'_id':1,'name':0}) : 可以通过参数来进行筛选 控制显示的字段 1代表显示此字段
  • db.集合名.find({"_id":""},{'name':0}) : 可以通过参数来进行筛选 控制显示的字段 0代表排除此字段
  • db.集合名.find({"_id":/users/}) : //进行模糊匹配 如果是变量可以用 db.集合名.find({'_id':new RegExp(users)})
  • db.集合名.find({},{name:1,age:1}) : 查询指定字段的数据 类似于sql中的 select name,age from musiclist
  • db.集合名.find().sort({age : 1})  age为1时升序 为-1降序
  • db.集合名.find().limit(5) : 前5条
  • db.集合名.find().skip(10) : 跳过10条 一般limit和skip一起使用,可以做分页的处理
  • db.集合名.findOne()

增:

  • db.集合名.insert()可添加一条也可添加多条,添加多条的写法跟insertMany相同
  • db.集合名.insertMany()  db.musiclist.insertMany([{name:"烦恼歌"},{name:"红尘客栈"}])
  • db.集合名.save()    db.musiclist.save({name:"异乡人"})      

改:

  • db.集合名.update({},{$set:{users:"张杰"}})  修改第一条数据 update第一个参数为筛选条件,如果没有筛选条件可设置成{}
  • db.musiclist.update({},{$set:{users:"张杰2"}},{multi:true})  multi配置可修改所有数据
  • db.集合名.updateMany({},{$set:{users:"张杰"}})   修改所有数据   $set是设置字段,$inc是对字段进行累加操作(必须是数字类型)
  • db.集合名.updateOne()查询
  • $set 赋值  $inc累加 $or或者  $all 全部符合 $and 且  $in 匹配在数组中的一个
  • {$or/$and:[  { name: ‘离’},{ sex: '男' } ] }  or和and的用法  获取满足name为离,sex为男这两种条件 任意一条/所有条件的数据
  • {name: {$all:  [ '离','月' ]   }} 获取名字同时包含离 和 月 的数据
  • {name: {$in:  [ '离','月' ]   }} 获取名字包含离 或 月 的数据

删:

  • db.集合名.deleteOne({})
      1. db.musiclist.deleteOne({users:"张杰2"})  删除一条数据
      2. db.musiclist.deleteMany({users:"张杰2"}) 删除所有数据
  • db .集合名.remove({users:"张杰2"})  删除所有数据
      1. db .集合名.remove({users:"张杰2"},true)  删除一条数据
      2. db .集合名.remove({})  : 删除所有
  • db.集合名.drop()
      1. 删除当前集合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值