0

这是我的 /etc/mongodb.conf - 使用 MongoDB 3.6。我在启动 mongod 时遇到了正在解析的配置文件的挑战。我在每个冒号后有一个空格,在每个新行上有两个空格我从这里的 mongoDB 文档中获取了副本集示例:https ://docs.mongodb.com/manual/reference/configuration-options/#replication-options

dbpath=/home/ubuntu/data/db
logpath=/home/ubuntu/data/db/log/mongo.log
logappend=true
journal=true

replication:
  replSetName: rep

net:
  bindIp: 127.0.0.1
  port: 27017

错误是:

 Error parsing YAML config file: yaml-cpp: error at line 6, column 12: illegal map value

我发送的命令是

 Error parsing YAML config file: yaml-cpp: error at line 6, column 12: illegal map value

尝试“mongod --help”以获取更多信息

4

1 回答 1

1

我不知道你认为前四行是做什么的,但它们肯定不是 YAML;相反,它们使用类似于.properties文件的格式,=将属性名称与值分开。

由于=YAML 中的 a 只是内容,因此它将前六行解析为多行标量,这意味着 YAML 中这些行的值是标量

dbpath=/home/ubuntu/data/db logpath=/home/ubuntu/data/db/log/mongo.log logappend=true journal=true
replication

(单个换行符折叠成空格,空行生成换行符。)

现在发生错误是因为 YAML 不允许多行标量作为映射的隐式键。隐式键是:在同一行上的 a 之前的标量,它们形成映射键。

您可以通过删除前四行或将它们转换为正确的 YAML 来修复错误。目前尚不清楚您对这些行的意图是什么,因为并非每个名称在您链接的文档中都有相应的设置。

于 2020-10-04T10:42:23.513 回答