当前位置:首页 > 问答 > 正文

MongoDB怎么装啊,还有那些平时用得上的命令,简单说说吧

关于怎么装MongoDB

装MongoDB现在最简单的方法就是用官方提供的安装包,跟装普通软件差不多,这里主要说Windows和macOS,Linux的话用命令行安装也很直接,但可能稍微多一步两步。

  • Windows系统:

    1. 先去MongoDB官网,找到下载页面,选那个“Community Server”版本,这是免费用的,根据你的系统是64位的来选安装包,格式是.msi的,这个最好用。
    2. 下载完以后,双击这个.msi文件,就跟装QQ、微信一样下一步下一步,有个地方要注意一下,安装过程中会问你要不要顺便装一个叫“MongoDB Compass”的工具,这是个图形化界面,打勾装上它,以后查看数据能更直观,对新手特别友好。
    3. 安装路径默认在C盘就行,不用改,一路点“Install”,等它装完就OK了,安装程序一般会自动帮你把MongoDB配置成系统服务,意思是开机它就能自己启动,不用你每次手动开,这个很方便。
  • macOS系统:

    1. 用mac的话,最省事的办法是用包管理工具Homebrew,如果你没装Homebrew,先打开“终端”应用,输入官网提供的那个安装Homebrew的命令装上它。
    2. 装好Homebrew之后,在终端里直接输入命令 brew tap mongodb/brew,这个命令是为了把MongoDB的安装源加到Homebrew里。
    3. 然后输入 brew install mongodb-community,回车,它就自动开始下载和安装了,安装完以后,需要手动启动一下服务,在终端输入 brew services start mongodb-community 就行了。

装好之后,怎么确认成功了呢?你可以打开命令行(Windows叫命令提示符或PowerShell,macOS叫终端),输入 mongosh 然后回车,如果出现一个带着大于号>的提示符,比如test>,恭喜你,已经连上MongoDB的数据库了,可以开始操作了。

平时用得上的命令

进了那个 mongosh 的环境之后,就可以输入命令了,MongoDB里的命令主要是对“数据库”和“集合”操作,你可以把“数据库”理解成一个大的仓库,里面有很多个“集合”,每个“集合”就像仓库里的一种货架,货架上放着一件件具体的“文档”(也就是数据记录,类似表格里的一行数据,但格式是灵活的JSON样子)。

MongoDB怎么装啊,还有那些平时用得上的命令,简单说说吧

  1. 查看和切换数据库

    • show dbs:列出所有存在的数据库。
    • use 数据库名字:切换到某个数据库,如果这个数据库不存在,你往里面存数据的时候它会自动创建。use myblog 就切换到一个叫“myblog”的数据库。
  2. 对集合的操作(类似表格)

    • show collections:在你已经进入某个数据库后,这个命令能列出这个数据库里所有的集合。
    • db.createCollection("集合名字"):明确地创建一个新的集合,不过其实你不用特意创建,直接往里面插数据,集合也会自动生成。
  3. 最核心的:增删改查 假设我们有一个叫 users 的集合,用来存用户信息。

    • 增:插入数据

      MongoDB怎么装啊,还有那些平时用得上的命令,简单说说吧

      • db.users.insertOne({name: "张三", age: 25, city: "北京"}):插入一条用户数据,注意数据是用大括号包起来的,里面是键: 值的形式。
      • db.users.insertMany([{name: "李四", age: 30}, {name: "王五", age: 28}]):一次性插入多条数据,数据用中括号包起来,里面用逗号分开。
    • 查:查找数据 - 这个用得最多

      • db.users.find():查找 users 集合里的所有数据。
      • db.users.find({age: 25}):查找年龄等于25的所有用户。
      • db.users.find({age: {$gt: 25}}):查找年龄大于25的用户。$gt大于”的意思。
      • db.users.find({age: {$lt: 30}}):查找年龄小于30的用户。
      • db.users.find({name: /张/}):查找名字里带“张”字的用户,这叫模糊查询。
      • db.users.findOne({age: 25}):只找一条满足条件的数据回来。
    • 改:更新数据

      • db.users.updateOne({name: "张三"}, {$set: {age: 26}}):找到名字是“张三”的第一条记录,把他的年龄改成26。$set操作符意思是“设置”某个字段的值。
      • db.users.updateMany({city: "上海"}, {$set: {vip: true}}):把所有城市是“上海”的用户,都设置成VIP。
      • 注意,如果不加$set,而是直接写 db.users.updateOne({name:"张三"}, {age:26}),那就会把整条记录替换成只有age:26这一个字段,其他字段全没了,非常危险,所以一般更新都用$set
    • 删:删除数据

      • db.users.deleteOne({name: "王五"}):删除第一条名字是“王五”的记录。
      • db.users.deleteMany({age: {$lt: 20}}):删除所有年龄小于20的用户记录。
      • 千万小心db.users.deleteMany({}) 如果括号里的条件是空的,会删除这个集合里的所有数据!操作删除前一定要看清楚条件。
  4. 其他实用命令

    • db.集合名字.countDocuments() 或老的 db.集合名字.count():统计一个集合里总共有多少条数据。
    • db.集合名字.find().sort({age: 1}):查询结果按年龄升序排列(1是升序,-1是降序)。
    • db.集合名字.find().limit(5):只返回前5条结果。

mongosh 里想退出的话,直接输入 exit 或者按 Ctrl+C 就行。

这些命令基本上覆盖了日常一多半的操作了,多打几次就熟了,刚开始可能会记不住,没关系,用的时候回来查就行,关键是理解每个命令是干嘛的,剩下的就是熟练工了。