Maison développement back-end tutoriel php Résumé des conseils et précautions de MongoDB

Résumé des conseils et précautions de MongoDB

Dec 01, 2017 am 11:28 AM

Mongodb, une base de données de stockage de documents distribuée, écrite en langage C++, vise à fournir des solutions de stockage de données évolutives et performantes pour les applications WEB. MongoDB est une base de données de documents hautes performances, open source et sans schéma, qui est actuellement une base de données NoSQL populaire. Cet article partagera avec vous les techniques de résolution des problèmes rencontrés lors de l'utilisation de MongoDB, et les partagera pour votre référence et votre apprentissage.

1. Rechercher les enregistrements dont les champs du tableau ne sont pas vides

Trouver les enregistrements dont les champs du tableau ne sont pas vides dans les données.

Par exemple : Il existe le document Mongo suivant,

{
 "id" : "581c060f2b436c05aafb1632",
 "commit_history" : [ 
 "581c20d52b436c05aafb1633", 
 "581c21c12b436c05aafb1634"
 ]
},
{
 "id" : "581c060f2b436c05aafb1633",
 "commit_history" : []
}
Copier après la connexion

Si vous souhaitez rechercher des enregistrements dont commit_history n'est pas vide, il existe les méthodes suivantes :

Méthode 1 : db.collection .find({commit_history : {$not : {$size : 0}}})

Méthode 2 : db.collection.find({'commit_history.0' : {$exists : 1}})

2. Ajouter un utilisateur à MongoDB

Pour ajouter un utilisateur à une collection dans MongoDB, vous pouvez procéder comme suit :

utiliser collection_name pour passer à une bibliothèque

db.createUser(
 {
 user: "collection_name",
 pwd: "password",
 roles: [ "readWrite", "dbAdmin" ]
 }
)
Copier après la connexion

3. Parfois il est nécessaire de supprimer la colonne du champ spécifié et d'utiliser l'opération de mise à jour.

Par exemple, pour supprimer la colonne de nom :

query json :

{"name":{$exists:true}}
Copier après la connexion

mettre à jour json :

{$unset:{"name":""}}
Copier après la connexion

4. Exportation de données, exécutez la commande mongoexport dans le répertoire bin de mongodb et définissez les paramètres pertinents

Par exemple :

./mongoexport -h 192.168.0.201 --port 27017 –d admin –u admin –p admin -c department -o /home/admin/department.dat
Copier après la connexion

-h : Spécifiez l'IP de la base de données à connecter < ; 🎜>

- -port : Spécifiez le port de la base de données à connecter ;

-u : Spécifiez le nom d'utilisateur de la base de données à connecter ;

-p : Spécifiez le mot de passe utilisateur de la base de données à connecter ;

-d : Spécifiez le nom de la bibliothèque à connecter ;

-c : Spécifiez l'ensemble de données à exporter

- o : Précisez l'adresse de stockage cible des données à exporter

Remarque : (1) Il faut s'assurer que la base de données connectée est en fonctionnement normal


; (2) J'ai rencontré une fois une situation dans laquelle les informations utilisateur étaient ajoutées à la base de données et celle-ci n'était pas démarrée avec l'authentification de l'utilisateur lors du démarrage. Cependant, lors de l'exécution de cette commande, ce n'est qu'après avoir spécifié le nom d'utilisateur et le mot de passe que l'exportation a réussi. . Si quelqu’un rencontre une situation similaire, autant essayer.

5. Importez les données, exécutez la commande mongoimport dans le répertoire bin de mongodb et définissez les paramètres pertinents. L'explication des paramètres est la même que ci-dessus

Par exemple :

.
./mongoimport --port 27017 -d admin -u admin –p admin –c department /home/common/mongodb305/bin/department.dat
Copier après la connexion


6. Problèmes de vérification des utilisateurs pour les bases de données non amdin :


Lorsque nous ajoutons des utilisateurs à la bibliothèque dans la base de données mongodb, nous pouvons utiliser les commandes suivantes dans la base de données cible, par exemple, ajoutez dans la bibliothèque mongoTest Un utilisateur avec des autorisations de lecture et d'écriture :

db.createUser({"user":"test","pwd":"123456","roles":["readWrite"]})
Copier après la connexion


peut également être ajouté dans la base de données admin :

db.createUser({"user":"test","pwd":"123456","roles":[{"role":"readWrite","db":"test"},"readWrite"]})
Copier après la connexion


Il est à noter qu'il y a une différence entre ces deux méthodes, et c'est cette différence qui m'a un jour trompé :

Lors de l'utilisation de la première méthode à ajouter, nous pouvons l'ajouter dans le répertoire bin de mongodb Exécutez directement la commande suivante pour entrer dans la base de données de test à utiliser, vous pouvez ajouter, supprimer, modifier et vérifier, vous pouvez également utiliser cet utilisateur ; Le nom et le mot de passe sont connectés dans mongoVUE :

./mongo -h 192.168.0.201 --port 27017 -u test -p 123456 -d test
Copier après la connexion


Mais s'il est créé de la deuxième manière, alors si vous utilisez directement la commande ci-dessus, il vous demandera que la vérification a échoué Seulement si vous entrez d'abord mongo. Le shell est connecté à la base de données admin, puis la vérification peut être réussie lors du passage à la base de données de test. C'est un petit piège. Ceux qui ne connaissent pas la situation peuvent être très confus. Il est clair que le nom d'utilisateur et le mot de passe sont corrects, mais ils ne peuvent pas se connecter pour une raison quelconque.

7. La méthode de stockage des données par défaut de mongodb3.0 est toujours la même que celle de mongodb 2.6. J'ai essayé de passer à la nouvelle méthode de stockage et d'utiliser les paramètres suivants au démarrage. qu'il ne doit y avoir aucune donnée dans la base de données. Ceci n'est possible que si les données sont requises, sinon une erreur sera signalée :

./mongod -f /mongodb304/conf/mongodb.conf --storageEngine wiredTiger
Copier après la connexion
Divers autres paramètres pour le démarrage, tels que dbpath, logpath, etc. ., sont configurés dans mongodb.conf.


Le contenu ci-dessus est un résumé des conseils et précautions pour l'utilisation quotidienne de MongoDB. J'espère qu'il pourra aider tout le monde.

Recommandations associées :

Qu'est-ce que la base de données mongoDB

Comment phpstudy étend MongoDB

Comment améliorer la sécurité de MongoDB

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

A quoi sert net4.0 A quoi sert net4.0 May 10, 2024 am 01:09 AM

.NET 4.0 est utilisé pour créer une variété d'applications et offre aux développeurs d'applications des fonctionnalités riches, notamment : programmation orientée objet, flexibilité, architecture puissante, intégration du cloud computing, optimisation des performances, bibliothèques étendues, sécurité, évolutivité, accès aux données et mobile. soutien au développement.

Comment configurer l'expansion automatique de MongoDB sur Debian Comment configurer l'expansion automatique de MongoDB sur Debian Apr 02, 2025 am 07:36 AM

Cet article présente comment configurer MongoDB sur Debian System pour réaliser une expansion automatique. Les étapes principales incluent la configuration de l'ensemble de répliques MongoDB et de la surveillance de l'espace disque. 1. Installation de MongoDB Tout d'abord, assurez-vous que MongoDB est installé sur le système Debian. Installez à l'aide de la commande suivante: SudoaptupDaSudoaptInstall-myongoDB-Org 2. Configuration de la réplique MongoDB Ensemble de répliques MongoDB assure la haute disponibilité et la redondance des données, ce qui est la base de la réalisation d'une expansion de capacité automatique. Démarrer le service MongoDB: Sudosystemctlstartmongodsudosys

Comment assurer la haute disponibilité de MongoDB sur Debian Comment assurer la haute disponibilité de MongoDB sur Debian Apr 02, 2025 am 07:21 AM

Cet article décrit comment construire une base de données MongoDB hautement disponible sur un système Debian. Nous explorerons plusieurs façons de garantir que la sécurité des données et les services continueront de fonctionner. Stratégie clé: réplicaset: réplicaset: Utilisez des répliques pour obtenir la redondance des données et le basculement automatique. Lorsqu'un nœud maître échoue, l'ensemble de répliques élise automatiquement un nouveau nœud maître pour assurer la disponibilité continue du service. Sauvegarde et récupération des données: utilisez régulièrement la commande Mongodump pour sauvegarder la base de données et formuler des stratégies de récupération efficaces pour faire face au risque de perte de données. Surveillance et alarmes: déploier les outils de surveillance (tels que Prometheus, Grafana) pour surveiller l'état de course de MongoDB en temps réel, et

Le didacticiel de largage aérien époustouflant de Soland au niveau de l'alimentation : 0 coût, pas de routines, pas de contre-jeu ! Le didacticiel de largage aérien époustouflant de Soland au niveau de l'alimentation : 0 coût, pas de routines, pas de contre-jeu ! Jun 25, 2024 pm 07:13 PM

Le tutoriel de lubrification au niveau alimentation de Soland : 0 coût, pas de routines, pas de feedback ! Récemment, la coiffure est redevenue un sujet de discussion entre de nombreux amis du cercle monétaire. Bien sûr, cette fois, tout le monde est généralement déçu, voire en colère. Il n'y a pas d'autre raison. Premièrement, il y a eu le bras de fer de Layerzero. Le contrôle par lots du contrôle des sorcières, puis les Airdrops du roi PUA ZKsync ont amené de nombreuses personnes à se plaindre d'avoir été sévèrement critiquées, et certains ont même dépensé des dizaines de milliers de dollars en gaz et en coûts d'interaction, et le bénéfice final était inférieur à un dixième, sans compter le temps passé et les autres coûts. Les deux projets de niveau "King of Heaven" ont donné envie à de nombreuses personnes de quitter le Terry Circle. En fait, nous pensons que ce n'est pas nécessaire ici, car il existe encore de nombreuses opportunités dans la piste cryptée, quelle que soit l'ampleur des parties au projet. une nécessité de le promouvoir.

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Quelle est la stratégie de sauvegarde Centos MongoDB? Quelle est la stratégie de sauvegarde Centos MongoDB? Apr 14, 2025 pm 04:51 PM

Explication détaillée de la stratégie de sauvegarde efficace de MongoDB dans le cadre du système CentOS Cet article introduira en détail les différentes stratégies de mise en œuvre de sauvegarde MongoDB sur le système CentOS pour assurer la sécurité des données et la continuité des activités. Nous couvrirons les sauvegardes manuelles, les sauvegardes chronométrées, les sauvegardes de scripts automatisées et les méthodes de sauvegarde dans des environnements de conteneurs Docker, et offrir les meilleures pratiques pour la gestion des fichiers de sauvegarde. Sauvegarde manuelle: utilisez la commande mongodump pour effectuer une sauvegarde complète manuelle, par exemple: mongodump-hlocalhost: 27017-u username-p mot de passe-d database name-o / backup Directory Cette commande exportera les données et les métadonnées de la base de données spécifiée vers le répertoire de sauvegarde spécifié.

MongoDB et base de données relationnelle: une comparaison complète MongoDB et base de données relationnelle: une comparaison complète Apr 08, 2025 pm 06:30 PM

MongoDB et base de données relationnelle: comparaison approfondie Cet article explorera en profondeur les différences entre la base de données NOSQL MongoDB et les bases de données relationnelles traditionnelles (telles que MySQL et SQLServer). Les bases de données relationnelles utilisent des structures de table des lignes et des colonnes pour organiser les données, tandis que MongoDB utilise des modèles flexibles axés sur les documents pour mieux répondre aux besoins des applications modernes. Différencie principalement les structures de données: les bases de données relationnelles utilisent des tables de schéma prédéfinies pour stocker les données, et les relations entre les tableaux sont établies par des clés primaires et des clés étrangères; MongoDB utilise des documents BSON de type JSON pour les stocker dans une collection, et chaque structure de document peut être modifiée indépendamment pour obtenir une conception sans motif. Conception architecturale: les bases de données relationnelles doivent être prédéfinies schéma fixe; MongoDB support

Utilisez le compositeur pour résoudre le dilemme des systèmes de recommandation: Andres-Montanez / Recommandations-Bundle Utilisez le compositeur pour résoudre le dilemme des systèmes de recommandation: Andres-Montanez / Recommandations-Bundle Apr 18, 2025 am 11:48 AM

Lors du développement d'un site Web de commerce électronique, j'ai rencontré un problème difficile: comment fournir aux utilisateurs des recommandations de produits personnalisées. Au départ, j'ai essayé des algorithmes de recommandation simples, mais les résultats n'étaient pas idéaux et la satisfaction des utilisateurs a également été affectée. Afin d'améliorer la précision et l'efficacité du système de recommandation, j'ai décidé d'adopter une solution plus professionnelle. Enfin, j'ai installé Andres-Montanez / Recommandations-Bundle via Composer, ce qui a non seulement résolu mon problème, mais a également considérablement amélioré les performances du système de recommandation. Vous pouvez apprendre le compositeur via l'adresse suivante:

See all articles