02_MongoDB基础命令

1、运行***MongoDB\Server\6.0\mongosh-1.7.1-win32-x64\bin\下的mongosh.exe,就可进入MongoDB命令行,如下:点击enter就会默认链接本地数据库


image.png

2、在这里可以使用命令

"show dbs" 命令可以显示所有数据的列表。
admin   40.00 KiB
config  60.00 KiB
local   72.00 KiB

执行 "db" 命令可以显示当前数据库对象或集合。

运行"use"命令,可以连接到一个指定的数据库。
use  local  ,如果local不存在则创建数据库   

进入admin后使用db.shutdownServer() 关闭MongoDB
use admin
admin> db.shutdownServer()

show  roles  查看角色

查看集合:show collections
创建集合:db.createCollection("tmp_collections",options) (options:参数 capped、size、max)
删除集合: db.emp.drop()

MongoDB Shell :命令


image.png

更新文档(update):

image.png

//更新数据(查找指定_id,并在age上增加35)
db.users.update({_id: ObjectId("63ef31d3c5df475a87b3eb43")},{$inc:{age:35}})

//添加文档(查找指定_id,添加一个Job:"程序"字段)
db.users.update({_id: ObjectId("63ef31d3c5df475a87b3eb43")},{$set:{Job:"程序"}})

//添加文档(查找指定_id,添加一个Job:"程序"字段),注意set只会修改第一个值,即使使用db.users.find()查询出多个值
db.users.update({age: {$gte: 17}},{$set:{Job:"程序"}})

//替换多个
db.users.update({age: {$gte: 0}},{$set:{Job:"程序员"}},{multi:true})

//简化命令可以使用
updateOne  :更新单条数据
UpdateMany   :更新多条数据
replaceOne      :替换单条数据

//更新多条
db.users.updateMany({age: {$gte: 0}},{$set:{Job:"程序员牛逼"}})

//upsert 特殊更新,目标文档不存在,则执行插入
db.users.update({age:  10},{$set:{Job:"程序员"}},{upsert:true})

//未使用任何update操作符,直接对整个文档替换(测试抛错Update document requires atomic operators)
db.users.update({ age: 10},{justTitle: "替换,整个文档替换"})


db.users.find({ age: 10})

//更新且返回更新数据 findAndModify
db.users.findAndModify( {query:{_id: ObjectId("63f2d81fd5ec14af7305b9f9")},update:{$inc:{age:35}}})
db.users.findAndModify( {query:{_id: ObjectId("63f2d81fd5ec14af7305b9f9")},update:{$inc:{age:35}},new:true})

//findOneAndUpdate   :更新当下文档并返回更新前(或更新后)的文档
//findOneAndReplace   :  替换当下文档并返回更新前(或更新后)的文档

删除文档(remove 和delete):

image.png
// remove age=80的文档
db.users.remove({ age: 80})
// remove age<=80的文档
db.users.remove({ age: {$lt:80}})

//删除所有记录
db.users.remove({ })     效率低于使用drop

//删除一条
db.users.remove({ age:10},true)
即便使用 db.users.find({ age:10}) 查找出来多余一条,也只会删除一条记录

//delete删除文档(deleteOne、deleteMonty )
db.users.deleteMonty({ })//删除集合下全部文档
db.users.deleteMonty({ age: 10}) //删除集合下age=10的全部文档
db.users.deleteOne({ age: 10}) //删除集合下age=10的第一个文档

//返回被删除的文档( findOneAndDelete )
db.users.findOneAndDelete({ age: 10}) 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容