1、运行***MongoDB\Server\6.0\mongosh-1.7.1-win32-x64\bin\下的mongosh.exe,就可进入MongoDB命令行,如下:点击enter就会默认链接本地数据库
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 :命令
更新文档(update):
//更新数据(查找指定_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):
// 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})