一份方便的MongoDB和mongosh命令和查询列表

920 阅读1分钟

在使用MongoDB数据库时,我们收集了一份方便的MongoDB和mongosh命令和查询列表。如果你想在小抄中添加一些内容,请联系我们@ForestAdmin!

这是继PostgreSQL之后我们的小抄系列的第二篇文章。

开始使用MongoDB

安装MongoDB Shell mongosh

登录并进入MongoDB Shell mongosh

$ mongosh
//OR
$ mongosh "mongodb://localhost:27017"

列出MongoDB数据库

show dbs

连接到MongoDB数据库

use databaseName

退出MongoDB Shell mongosh

quit()

管理MongoDB

检查MongoDB的版本

db.version()

检查MongoDB是否正在运行

$ pgrep -fa -- -D | grep mongo

在Linux上重新启动MongoDB

db.shutdownServer()
$ sudo systemctl start mongodb

在Mac OSX上重启MongoDB

$ brew services stop mongodb-community@yourMongodbVersionNumber

在Windows上重新启动MongoDB

Winkey + R
Type "services.msc"
Search "MondoDb"
Click "restart"

更改MongoDB用户密码

db.changeUserPassword(username, NewPassword)

从mongosh中退出

quit()

与MongoDB数据库互动

列出MongoDB数据库

show dbs

连接或切换到MongoDB数据库

use databaseName

创建新的MongoDB数据库

use newDatabaseName

显示当前数据库的名称

db.getName()

删除MongoDB数据库

db.dropDatabase()

重命名MongoDB数据库

$ mongodump -d oldDatabaseName path
$ mongorestore -d newDatabaseName path/oldDatabaseName.bson
$ mongosh
use oldDatabaseName
db.dropDatabase()

与MongoDB集合互动

列出MongoDB集合

show collections

描述MongoDB集合

db.getCollectionInfos( { name: "collectionName" } )

描述MongoDB数据库中的所有集合

db.getCollectionInfos()

创建MongoDB集合

db.createCollection("collectionName", options)

删除MongoDB集合

db.collectionName.drop()

重命名MongoDB集合

db.oldCollectionName.renameCollection("newCollectionName")

与MongoDB索引交互

列出集合中的MongoDB索引

db.collectionName.getIndexes()

在一个集合中创建一个MongoDB索引

db.collectionName.createIndex(keys, options, commitQuorum)

在一个集合中创建多个MongoDB索引

db.collectionName.createIndexes( [ keyPatterns ], options, commitQuorum )

删除MongoDB索引

db.collectionName.dropIndex("indexName")

删除MongoDB集合中的所有索引

db.collection.dropIndexes()

重建MongoDB索引

db.collection.reIndex()

与MongoDB文档交互

计算MongoDB集合中的文档

db.collectionName.countDocuments()

列出MongoDB集合中的所有文档

db.collectionName.find().toArray()

在MongoDB中创建文档

db.collectionName.insertOne(
   <document>
)

在MongoDB中显示一个文档

db.collectionName.find({ "_id": documentID })

在MongoDB中更新一个文档

db.collectionName.updateOne(
	{ "_id": documentID },
	<update>
)

在MongoDB中删除一个文档

db.collectionName.deleteOne({ "_id": documentID })

替换MongoDB中的一个文档

db.collectionName.replaceOne(
	{ "_id": documentID },
	<replacement>
)

备份和恢复MongoDB数据库

备份MongoDB数据库

$ mongodump -d oldDatabaseName path

恢复MongoDB数据库

$ mongorestore -d newDatabaseName path/oldDatabaseName.bson

管理MongoDB中的角色、用户和权限

列出MongoDB的角色

db.getRoles(
    {
      rolesInfo: 1
    }
)

创建MongoDB用户

db.createUser(
	{
		user: "userName",

		pwd: "userPassword",

		roles:[{role: "roleName" , db:"databaseName"}]
	}
)

删除MongoDB用户

db.dropUser(userName)

改变MongoDB用户的密码

db.changeUserPassword(userName, newPassword)