MongoDB Shell的使用

下载地址:https://www.mongodb.com/try/download/shell

以下是关于如何使用 MongoDB Shell 的一些基本步骤和常见操作:

前提条件:确保已经安装并启动了 MongoDB 服务。

启动 MongoDB Shell:在命令行终端中输入mongosh命令。如果 MongoDB 服务器运行在非默认端口或远程服务器上,可以使用以下命令连接:mongosh --host <hostname>:<port>(其中 <hostname> 是服务器的主机名或 IP 地址,<port> 是服务器的端口号)。

连接成功后,就可以在 MongoDB Shell 中执行各种操作了。

常见操作示例

  • 显示当前正在使用的数据库:db
  • 查看所有数据库:show dbsshow databases
  • 切换到另一个数据库:use <database_name> 。如果数据库不存在,当创建集合时,该数据库会被自动创建。
  • 插入一条数据:db.<collection_name>.insertOne({<document>})db.<collection_name>.insert({<document>}) 。例如,在名为 emp 的集合中插入一条数据:db.emp.insertOne({x: 1})
  • 查看当前数据库中所有集合:show collections
  • 查看集合中的数据:db.<collection_name>.find() 。若要格式化打印结果,可以添加 .pretty() 方法,如:db.emp.find().Pretty()
  • 退出 shell:可以输入 quit() 或者按下 ctrl+c 组合键。

另外,还可以通过设置变量 prompt 的值来自定义提示符的内容,显示更多信息,例如显示操作数、数据库和主机名、Mongo 服务的启动时间以及文档数等。示例代码如下:

  • 显示当前 shell 的操作数量:

    javascript 复制代码
    cmdcount = 1;
    prompt = function() {
      return (cmdcount++) + ">";
    }
  • 显示数据库和主机名:

    javascript 复制代码
    host = db.serverStatus().host;
    prompt = function() {
      return db + "@" + host + "$";
    }
  • 显示 mongo 服务的启动时间以及文档数:

    javascript 复制代码
    prompt = function() {
      return "uptime:" + db.serverStatus().uptime + " documents:" + db.stats().objects + ">";
    }

更多关于 MongoDB Shell 的详细功能和操作,可以参考 MongoDB 的官方文档或相关教程。同时,Shell 中还支持各种查询、更新、删除等操作,其语法和具体用法可以根据实际需求进行学习和使用。

请注意,上述示例中的命令和操作是基于 MongoDB 的一般用法,实际使用中可能会因具体的数据库结构和需求而有所不同。此外,MongoDB Shell 的功能非常丰富,还包括创建索引、执行聚合操作、管理用户和角色等,你可以根据具体的需求进一步探索和学习。如果你使用的是较新版本的 MongoDB,可能会有一些新的特性和语法,建议查阅相应版本的官方文档以获取最准确的信息。

相关推荐
weisian15125 分钟前
Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
数据库·mysql
AI航海家(Ethan)29 分钟前
PostgreSQL数据库的运行机制和架构体系
数据库·postgresql·架构
Kendra9193 小时前
数据库(MySQL)
数据库·mysql
时光书签4 小时前
Mongodb副本集群为什么选择3个节点不选择4个节点
数据库·mongodb·nosql
人才程序员6 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯6 小时前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术6 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱7 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite
指尖下的技术7 小时前
Mysql面试题----为什么B+树比B树更适合实现数据库索引
数据结构·数据库·b树·mysql
数据馅7 小时前
python自动生成pg数据库表对应的es索引
数据库·python·elasticsearch