我有一台CentOS机器,我安装了mongodb,我希望它始终使用storage.smallFiles设置,所以我去/etc
我创建了一个新文件/etc/mongodb.conf
,我在其中添加了以下文字我保存了:
storage:
smallFiles:
enabled: true
然后我打字:
$ mongod --config /etc/mongodb.conf
Unrecognized option: storage.smallFiles.enabled
try 'mongod --help' for more information
我关注了http://docs.mongodb.org/manual/reference/configuration-options/#storage.smallFiles
上的文档答案 0 :(得分:43)
存储选项smallFiles
的配置在不同版本的MongoDB中有所不同。
MongoDB 3.0-4.0 - docs:
storage:
mmapv1:
smallFiles: true
请注意,MongoDB 4.0中不推荐使用MMAPv1存储引擎,并且将在以后的版本中将其删除 - docs
MongoDB 2.6 - docs:
storage:
smallFiles: true
MongoDB 2.4 - docs:
smallfiles = true
您可以通过对admin
数据库调用此命令来检查您的设置是否已正确设置:
db.runCommand({getCmdLineOpts:1});
你也可以在启动mongod时直接指定它,但是这会破坏配置文件的目的:
mongod --config /etc/mongodb.conf --smallFiles
答案 1 :(得分:2)
如果您使用的是mongodb:3.0。
您需要将Option Hierarchy设置为storage.mmapv1.smallFiles:true
i * ([(max-min)/5])
照顾yaml文件中的空格。
示例:
storage:
mmapv1:
smallFiles: true
答案 2 :(得分:1)
如果您是开发人员,没有时间并且正在使用虚拟机,那么只需复制,粘贴即可!
sudo bash -c "echo \"smallfiles=true\" >> /etc/mongodb.conf"
sudo service mongodb restart
答案 3 :(得分:1)
如果您在使用 mongodb 4.2 时遇到此错误,那是因为在 Mongo DB 4.2
中删除了某些选项Removed Configuration File Setting Removed Command-line Option
storage.mmapv1.journal.commitIntervalMs
storage.mmapv1.journal.debugFlags mongod --journalOptions
storage.mmapv1.nsSize mongod --nssize
storage.mmapv1.preallocDataFiles mongod --noprealloc
storage.mmapv1.quota.enforced mongod --quota
storage.mmapv1.quota.maxFilesPerDB mongod --quotaFiles
storage.mmapv1.smallFiles mongod --smallfiles
storage.repairPath mongod --repairpath
replication.secondaryIndexPrefetch mongod --replIndexPrefetch