在使用MongoDB数据库时,我们收集了一份方便的MongoDB和mongosh命令和查询列表。如果你想在小抄中添加一些内容,请联系我们@ForestAdmin!
这是继PostgreSQL之后我们的小抄系列的第二篇文章。
开始使用MongoDB
登录并进入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)