MongoDb-01 - Installez MongoDb sur Mac et les commandes simples associées

1. Téléchargez et installez

1.1 Téléchargement du site officiel

1.2 À propos de l'installation de MongoDB

1.2.1 Documentation d'installation officielle

1.2.2 Étapes détaillées de l'installation sur Mac (en utilisant Brew)

  • Je me réfère également aux étapes d'installation ci-dessus et j'utilise brewpour installer. Veuillez consulter les étapes suivantes pour plus de détails.
    Concernant brew, s'il n'est pas installé, veuillez consulter l'article suivant :
    Une introduction détaillée à l'installation de Homebrew sur Mac comprend la résolution de divers problèmes et l'utilisation de Homebrew pour installer git, svn et d'autres logiciels .
  • étapes d'installation :
    • Mettez à jour Brew, c'est à vous de décider, vous pouvez le mettre à jour ou non.
      brew update
      
    • Créer un référentiel Tap
      brew tap mongodb/brew
      
      Insérer la description de l'image ici
    • Installez la version spécifiée de mongodb-community Server. Si vous ne spécifiez pas de version, la dernière version semble être installée par défaut.
      brew install [email protected]
      
  • Vérifiez si l'installation a réussi
    • Après l'installation, exécutez la commande suivante pour vérifier si elle est installée
      brew list
      
      Insérer la description de l'image ici
  • Description du fichier d'installation
    • En plus des fichiers binaires, le processus d'installation crée les fichiers et répertoires suivants aux emplacements spécifiés ci-dessous en fonction de votre matériel Apple, comme suit :
      Insérer la description de l'image ici
    • Vous pouvez exécuter la commande suivante pour vérifier où Brew a installé ces fichiers et répertoires
      brew --prefix
      
      Insérer la description de l'image ici

2. Démarrez MongoDB

2.1 Description officielle

  • Voir directement la description du site officiel :
    Insérer la description de l'image ici

2.2 Commandes associées exécutées en tant que service macOS

  • Démarrez le service :
    brew services stop [email protected]
    
  • Vérifiez si le service MongoDB est en cours d'exécution
    brew services list
    
    Insérer la description de l'image ici
  • Hors service:
    brew services stop [email protected]
    
  • Afficher les ports occupés
    • Vérifiez d'abord l'ID du processus
      ps -ef | grep mongodb
      
      Insérer la description de l'image ici
    • Utilisez lsof pour afficher les ports en fonction de l'ID du processus
      lsof -i | grep 24403 
      
      Insérer la description de l'image ici
    • Remarque : utilisez lsof pour vérifier les services et les processus en fonction des ports
      lsof -i:27017
      
      Insérer la description de l'image ici

2.3 Accès

  • Après avoir connu le port, autant essayer d'y accéder. Bien sûr, l'accès est bloqué et les protocoles sont différents, mais cela peut signifier que le service mongodb est démarré, comme suit :
    http://127.0.0.1:27017/
    
    Insérer la description de l'image ici

3. Liez et utilisez mongodb

3.1 Lien vers mongodb

  • Commande de lien :
    mongosh
    
    Insérer la description de l'image ici

3.2 Utilisation simple de mongodb

3.2.1 Commandes simples

  • Les commandes simples couramment utilisées sont les suivantes :
    show dbs   #查看所有数据库
    
    db   # 查看当前数据库
    
    db.getName() #查看当前数据库名称
    
    use dbName   # 切换数据库(注意:有这个数据库,则会选中这个数据库,没有则会创建)
    
    db.version()  # 查看mongodb版本
    
    db.stats()   # 查看数据库状态信息
    
    db.getMongo()  #查看数据库的链接地址
    
    db.dropDatabase()  # 删除数据库
    ……
    
    Insérer la description de l'image ici
  • À propos de la création de bases de données et de collections
    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()
    
    Insérer la description de l'image ici

3.2.2 Utilisation simple de Crud (commande document)

3.2.2.1 Insertion de données

  • Insérer une seule donnée
    • grammaire:
      db.dog.insert({
              
              })
      
      db.dog.insertOne({
              
              })
      
    • exemple:
      db.dog.insert({
              
              dogNum:'A-1001',dogName:'麦兜',dogAge:3,dogKind:'边牧'})
      
      db.dog.insertOne({
              
              dogNum:'A-1002',dogName:'泡泡',dogAge:5,dogKind:'柯基'})
      
  • Insérer plusieurs éléments de données
    • grammaire:
      db.dog.insert([{
              
              },{
              
              }])
      
    • exemple:
      db.dog.insert([{
              
              dogNum:'A-1003',dogName:'大牙',dogAge:2,dogKind:'边牧'},{
              
              dogNum:'A-1004',dogName:'闪闪',dogAge:8,dogKind:'秋田'}])
      
  • Comme le montre l'image :
    Insérer la description de l'image ici
    Insérer la description de l'image ici

3.2.2.2 Données de requête

3.2.2.2.1 Enquêtes générales
  • La syntaxe est la suivante :
    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 满足条件之一即可
    
  • L'effet est le suivant :
    Insérer la description de l'image ici
    Insérer la description de l'image ici
3.2.2.2.2 Requête floue
  • La syntaxe est la suivante :
    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:'兜$'}})
    
    
  • L'effet est le suivant :
    Insérer la description de l'image ici
    Insérer la description de l'image ici
3.2.2.2.3 Requête de tri
  • grammaire:
    db.集合名.find({
          
          key:val}).sort({
          
          key:1})  # 1 升序,-1 将序
    
    db.dog.find({
          
          dogKind:'边牧'}).sort({
          
          dogAge:-1}) # 按年龄将序
    
    Insérer la description de l'image ici
3.2.2.2.4 Requête de pagination
  • grammaire:
    db.集合名.find({
          
          key:val}).limit(num).skip(start)  # num:表示pageSzie , start:表示起始索引,默认为0
    
    db.dog.find({
          
          dogKind:'边牧'}).limit(2).skip(1)
    
  • comme suit:
    Insérer la description de l'image ici

3.2.2.3 Modifier les données

  • La syntaxe est la suivante :
    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 Supprimer des données

  • En fonction des conditions de paire clé-valeur spécifiées :
    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 Plus de références opérationnelles

3.2.2.5.1 Plus de syntaxe et d'exemples
3.2.2.5.2 Opérateurs et autres documents supplémentaires

4. lien de navigation

  • Tant que le service est actif, connectez-vous simplement directement.
    Insérer la description de l'image ici
  • Vérifiez les données après la connexion :
    • Vous pouvez utiliser la requête de commande :
      Insérer la description de l'image ici
    • Vous pouvez également utiliser la requête graphique fournie avec Navicat
      Insérer la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/suixinfeixiangfei/article/details/132590099
conseillé
Classement