Mongodb – Using brew upgrade Mongo update from 3.4 to 4.0 error: The data files need to be fully upgraded to version 3.6 before attempting an upgrade to 4.0

mongodb

mongod

I got the following error

** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.6 before attempting an upgrade to 4.0; see http://dochub.mongodb.org/core/4.0-upgrade-fcv for more details.

But if I use

brew services start mongodb

then mongo server can start.

To fix the mongod error

I found the similar error thread

Error while upgrading Mongodb from 3.2 to 3.6

So I downgraded to mongodb 3.6, and run

db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )

and then reinstall mongodb 4.0, I still have the same error when I run

mongodb

I still have to use

brew services start mongodb

to start mongodb

In command line, I run

> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : { "version" : "3.6" }, "ok" : 1 }
> 

It says featureCompatibilityVersion is 3.6

What else I need to do to satisfy "The data files need to be fully upgraded to version 3.6 "?

Thanks!

Best Answer

I need to downgrade MongoDB to 3.4. Clean up all the versions. Then upgrade to 3.6 and 4.0 step by step.

First of all, back up your /data/db, just in case.

The following steps are from my experience, I used brew to install/uninstall mongodb.

I followed the instruction from this thread, but run the following steps on iMac.

Error while upgrading Mongodb from 3.2 to 3.6

Uninstall your current mongodb

brew uninstall mongodb

Install mongodb 3.4 version

brew install mongodb@3.4

Start mongod 3.4 version (when you install the old version like above, you need the full path to run it.)

/usr/local/opt/mongodb@3.4/bin/mongod

Start mongo 3.4 version

/usr/local/opt/mongodb@3.4/bin/mongo

Run the important command

> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )

Quit

>quit();

Terminate the mongod

Find PID of mongod process using $ top

Kill the process by $ kill <PID> (the Mongo docs have more info on this)

Uninstall mongodb 3.4

brew uninstall mongodb@3.4

Repeat the above steps for 3.6

Install mongodb 3.6 version

brew install mongodb@3.6

Start mongod 3.6 version

/usr/local/opt/mongodb@3.6/bin/mongod

Start mongo 3.6 version

/usr/local/opt/mongodb@3.6/bin/mongo

Run the important command

> db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )

...

Last, after uninstall 3.6, then you can install the most current version, 4.x, you don't have to specify the @4.x etc., just

Install the most current version

brew install mongodb
Related Topic