J'utilise la commande suivante (machine Windows) avec la version MongoDB Shell: 3.0.7:
mongod --config "G:\NodeApps\mongod.cfg" --install
Le contenu du fichier mongod.cfg est donné ci-dessous:
systemLog:
destination: file
path:"G:\NodeApps\data\log"
storage:
dbPath:"G:\NodeApps\data"
Obtenir l'erreur ci-dessous:
Error parsing YAML config file: yaml-cpp: error at line 4, column 8: illegal map value
try 'mongod --help' for more information
Des questions similaires n'ont pas de solutions pour cela.
Ce que j'ai déjà essayé:
S'il vous plait, j'ai besoin de votre aide avec ceci.
Les messages d'erreur indiquent la ligne et la colonne spécifiques où l'analyseur YAML rencontre un problème avec votre fichier de configuration, mais si vous n'êtes pas familier avec le format, il peut être difficile de déterminer ce qui est attendu.
Deux ensembles de modifications sont nécessaires pour rendre votre configuration YAML valide :
Ajoutez un "espace" entre les systemLog.path
et storage.dbPath
clés et leurs valeurs
YAML nécessite un espace entre les paires clé/valeur, donc signale: "erreur à la ligne 4, colonne 8: valeur de carte illégale".
Supprimez les guillemets doubles de vos valeurs de chemin
YAML interprète les barres obliques inverses à l'intérieur des chaînes entre guillemets comme introduisant un caractère d'échappement, donc signale: "erreur à la ligne 3, colonne 16: caractère d'échappement inconnu". Comme alternative, vous pouvez également laisser le chemin indiqué mais échapper aux barres obliques inverses (\\
) ou utilisez des barres obliques.
La configuration suivante devrait fonctionner (en supposant que "G:\NodeApps\data\"
possède les autorisations de répertoire et de fichier appropriées):
systemLog:
destination: file
path: G:\NodeApps\data\log
storage:
dbPath: G:\NodeApps\data
Il existe plusieurs testeurs en ligne pour la syntaxe YAML qui peuvent être utiles pour résoudre les problèmes (par exemple: YAML Lint ).
yaml n'accepte pas l'onglet, vous devez utiliser l'espace au lieu de l'onglet
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
security:
authorization: enabled
net:
bindIp: 127.0.0.1
port: 27017
ci-dessus est mon fichier mongod.cfg,
par exemple entre la sécurité: et l'autorisation, doit être un espace, l'onglet n'est pas valide vous donnera l'erreur ci-dessus sur le titre.
vous devez toujours valider votre fichier de configuration à
Toute ligne doit être à une distance d'espace.
journal du système:
destination: fichier
chemin: G:/NodeApps/data/log
espace de rangement:
dbPath: G:/NodeApps/data