Error parsing YAML config file: yaml-cpp
The error messages indicate the specific line and column where the YAML parser is having an issue with your configuration file, but if you're not familiar with the format it can be difficult to work out what is expected.
Two sets of changes are required to make your config valid YAML:
Add a "space" between the
systemLog.path
andstorage.dbPath
keys and their valuesYAML requires a space between key/value pairs, so reports: "error at line 4, column 8: illegal map value".
Remove the double quotes from your path values
YAML interprets backslashes inside quoted strings as introducing an escape character, so reports: "error at line 3, column 16: unknown escape character". As an alternative, you could also leave the path quoted but either escape the backslashes (
\\
) or use forward slashes.
The following config should work (assuming "G:\NodeApps\data\"
has the correct directory and file permissions):
systemLog:
destination: file
path: G:\NodeApps\data\log
storage:
dbPath: G:\NodeApps\data
There are several online testers for YAML syntax that can be useful to troubleshoot problems (eg: YAML Lint).
yaml do NOT accept tab, you must use space instead of tab
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
above is my mongod.cfg file,
for example between security: and authorization, must be space, tab is invalid will give you the error above on title.
you should alway validate your config file at
validate yaml