mongoexport error: Failed: Failed to parse + Unrecognized field 'snapshot

Annie picture Annie · Jun 18, 2019 · Viewed 7k times · Source

Goal:to migrate my local mongodb data to mongobd atlas cluster.

Try:
1. export local data as json.
2. import json to cluster.

OS: Linuxmint 19.1 Cinnamon
mongo --version MongoDB shell version v4.0.10
mongod --version db version v3.6.3
I also have a separate database folder.

So first I started

/home/me/mongodb/bin/mongod --dbpath=/home/me/mongodb-data

then I opened a terminal and typed

~/mongodb/bin $ mongoexport  --db task-manager --collection users --out ~/Desktop/test.json

I expected the users collection from task-manager database will print out as a test.json file but I am getting the error:

2019-06-18T22:05:06.108+0200    connected to: localhost
2019-06-18T22:05:06.108+0200    Failed: Failed to parse: { find: "users", filter: {}, sort: {}, skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "task-manager" }. Unrecognized field 'snapshot'.

What's wrong and what should I do to fix it? Is there any better way to migrate data?

Answer

Alex Jolig picture Alex Jolig · Feb 8, 2020

This usually happens due to different versions of mongodump vs your mongoDB server.

But adding --forceTableScan switch can solve the problem

mongodump --forceTableScan -d database_name