MongoDb-01: instale MongoDb en Mac y comandos simples relacionados

1. Descargar e instalar

1.1 Descarga del sitio web oficial

1.2 Acerca de la instalación de MongoDB

1.2.1 Documentos oficiales de instalación

1.2.2 Pasos detallados de instalación de Mac (usando Brew)

  • También me refiero a los pasos de instalación anteriores y los uso brewpara instalar. Consulte los siguientes pasos para obtener más detalles.
    Con respecto a brew, si no está instalado, consulte el siguiente artículo:
    Introducción detallada a la instalación de Homebrew en Mac, que incluye la resolución de varios problemas y el uso de Homebrew para instalar git, svn y otro software .
  • Pasos de instalación:
    • Actualiza Brew, depende de ti, puedes actualizarlo o no.
      brew update
      
    • Crear un repositorio de grifos
      brew tap mongodb/brew
      
      Insertar descripción de la imagen aquí
    • Instale la versión especificada del servidor mongodb-community. Si no especifica una versión, la última versión parece estar instalada de forma predeterminada.
      brew install [email protected]
      
  • Compruebe si la instalación es exitosa
    • Después de la instalación, ejecute el siguiente comando para verificar si está instalado
      brew list
      
      Insertar descripción de la imagen aquí
  • Descripción del archivo de instalación
    • Además de los archivos binarios, el proceso de instalación crea los siguientes archivos y directorios en las ubicaciones especificadas a continuación según su hardware Apple, de la siguiente manera:
      Insertar descripción de la imagen aquí
    • Puede ejecutar el siguiente comando para verificar dónde instaló Brew estos archivos y directorios
      brew --prefix
      
      Insertar descripción de la imagen aquí

2. Inicie MongoDB

2.1 Descripción oficial

  • Vea la descripción del sitio web oficial directamente:
    Insertar descripción de la imagen aquí

2.2 Comandos relacionados que se ejecutan como servicio de macOS

  • Iniciar el servicio:
    brew services stop [email protected]
    
  • Compruebe si el servicio MongoDB se está ejecutando
    brew services list
    
    Insertar descripción de la imagen aquí
  • Fuera de servicio:
    brew services stop [email protected]
    
  • Ver puertos ocupados
    • Verifique primero el ID del proceso
      ps -ef | grep mongodb
      
      Insertar descripción de la imagen aquí
    • Utilice lsof para ver puertos según el ID del proceso
      lsof -i | grep 24403 
      
      Insertar descripción de la imagen aquí
    • Nota: utilice lsof para comprobar servicios y procesos basados ​​en puertos
      lsof -i:27017
      
      Insertar descripción de la imagen aquí

2.3 Acceso

  • Después de conocer el puerto, también puedes intentar acceder a él. Por supuesto, el acceso está bloqueado y los protocolos son diferentes, pero puede significar que el servicio mongodb se inicia, de la siguiente manera:
    http://127.0.0.1:27017/
    
    Insertar descripción de la imagen aquí

3. Vincular y usar mongodb

3.1 enlace mongodb

  • Comando de enlace:
    mongosh
    
    Insertar descripción de la imagen aquí

3.2 Uso sencillo de mongodb

3.2.1 Comandos simples

  • Los comandos simples más utilizados son los siguientes:
    show dbs   #查看所有数据库
    
    db   # 查看当前数据库
    
    db.getName() #查看当前数据库名称
    
    use dbName   # 切换数据库(注意:有这个数据库,则会选中这个数据库,没有则会创建)
    
    db.version()  # 查看mongodb版本
    
    db.stats()   # 查看数据库状态信息
    
    db.getMongo()  #查看数据库的链接地址
    
    db.dropDatabase()  # 删除数据库
    ……
    
    Insertar descripción de la imagen aquí
  • Acerca de la creación de bases de datos y colecciones
    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()
    
    Insertar descripción de la imagen aquí

3.2.2 Uso simple y crudo (comando de documento)

3.2.2.1 Insertar datos

  • Insertar un solo dato
    • gramática:
      db.dog.insert({
              
              })
      
      db.dog.insertOne({
              
              })
      
    • ejemplo:
      db.dog.insert({
              
              dogNum:'A-1001',dogName:'麦兜',dogAge:3,dogKind:'边牧'})
      
      db.dog.insertOne({
              
              dogNum:'A-1002',dogName:'泡泡',dogAge:5,dogKind:'柯基'})
      
  • Insertar varios datos
    • gramática:
      db.dog.insert([{
              
              },{
              
              }])
      
    • ejemplo:
      db.dog.insert([{
              
              dogNum:'A-1003',dogName:'大牙',dogAge:2,dogKind:'边牧'},{
              
              dogNum:'A-1004',dogName:'闪闪',dogAge:8,dogKind:'秋田'}])
      
  • Como se muestra en la imagen:
    Insertar descripción de la imagen aquí
    Insertar descripción de la imagen aquí

3.2.2.2 Consultar datos

3.2.2.2.1 Consultas generales
  • La sintaxis es la siguiente:
    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 满足条件之一即可
    
  • El efecto es el siguiente:
    Insertar descripción de la imagen aquí
    Insertar descripción de la imagen aquí
3.2.2.2.2 Consulta difusa
  • La sintaxis es la siguiente:
    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:'兜$'}})
    
    
  • El efecto es el siguiente:
    Insertar descripción de la imagen aquí
    Insertar descripción de la imagen aquí
3.2.2.2.3 Ordenar consultas
  • gramática:
    db.集合名.find({
          
          key:val}).sort({
          
          key:1})  # 1 升序,-1 将序
    
    db.dog.find({
          
          dogKind:'边牧'}).sort({
          
          dogAge:-1}) # 按年龄将序
    
    Insertar descripción de la imagen aquí
3.2.2.2.4 Consulta de paginación
  • gramática:
    db.集合名.find({
          
          key:val}).limit(num).skip(start)  # num:表示pageSzie , start:表示起始索引,默认为0
    
    db.dog.find({
          
          dogKind:'边牧'}).limit(2).skip(1)
    
  • como sigue:
    Insertar descripción de la imagen aquí

3.2.2.3 Modificar datos

  • La sintaxis es la siguiente:
    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 Eliminar datos

  • Según las condiciones del par clave-valor especificadas:
    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 Más referencias operativas

3.2.2.5.1 Más sintaxis y ejemplos
3.2.2.5.2 Operadores y otros documentos más

4. enlace navicat

  • Mientras el servicio esté activo, simplemente conéctese directamente.
    Insertar descripción de la imagen aquí
  • Verifique los datos después de conectarse:
    • Puede utilizar la consulta de comando:
      Insertar descripción de la imagen aquí
    • También puedes utilizar la consulta gráfica que viene con navicat.
      Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/suixinfeixiangfei/article/details/132590099
Recomendado
Clasificación