3

I have a JSON file (from Mongo University) with some JSON in it

However, when I run the import:

PS C:\Program Files\MongoDB\Server\3.0\bin> .\mongoimport.exe -d blog -c posts --drop posts.json

I get an error and nothing is imported:

2016-04-15T22:21:27.771+0100    connected to: localhost
2016-04-15T22:21:27.772+0100    dropping: blog.posts
2016-04-15T22:21:28.635+0100    error inserting documents: lost connection to server
2016-04-15T22:21:28.635+0100    Failed: lost connection to server
2016-04-15T22:21:28.640+0100    imported 0 documents

From the server:

2016-04-15T22:21:22.070+0100 I CONTROL  [initandlisten] MongoDB starting : pid=8860 port=27017 dbpath=F:\Mongo\ 64-bit host=Plod
2016-04-15T22:21:22.071+0100 I CONTROL  [initandlisten] targetMinOS: Windows Server 2003 SP2
2016-04-15T22:21:22.072+0100 I CONTROL  [initandlisten] db version v3.0.11
2016-04-15T22:21:22.072+0100 I CONTROL  [initandlisten] git version: 48f8b49dc30cc2485c6c1f3db31b723258fcbf39
2016-04-15T22:21:22.072+0100 I CONTROL  [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, pl
atform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49
2016-04-15T22:21:22.072+0100 I CONTROL  [initandlisten] allocator: tcmalloc
2016-04-15T22:21:22.073+0100 I CONTROL  [initandlisten] options: { storage: { dbPath: "F:\Mongo\" } }
2016-04-15T22:21:22.079+0100 I JOURNAL  [initandlisten] journal dir=F:\Mongo\journal
2016-04-15T22:21:22.079+0100 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2016-04-15T22:21:22.117+0100 I JOURNAL  [durability] Durability thread started
2016-04-15T22:21:22.118+0100 I JOURNAL  [journal writer] Journal writer thread started
2016-04-15T22:21:22.234+0100 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-04-15T22:21:27.770+0100 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:5047 #1 (1 connection now open)
2016-04-15T22:21:27.772+0100 I COMMAND  [conn1] CMD: drop blog.posts
2016-04-15T22:21:28.084+0100 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:5048 #2 (2 connections now open)
2016-04-15T22:21:28.231+0100 I -        [conn2] Assertion: 10334:BSONObj size: 33609065 (0x200D569) is invalid. Size must be betwe
en 0 and 16793600(16MB) First element: insert: "posts"
2016-04-15T22:21:28.610+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\util\stacktrace_win.cpp(175)                       mon
go::printStackTrace+0x43
2016-04-15T22:21:28.611+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\util\log.cpp(134)                                  mon
go::logContext+0x8f
2016-04-15T22:21:28.611+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\util\assert_util.cpp(219)                          mon
go::msgasserted+0xce
2016-04-15T22:21:28.611+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\util\assert_util.cpp(211)                          mon
go::msgasserted+0x13
2016-04-15T22:21:28.612+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\bson\bsonobj.cpp(73)                               mon
go::BSONObj::_assertInvalid+0x40c
2016-04-15T22:21:28.612+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\db\dbmessage.cpp(131)                              mon
go::DbMessage::nextJsObj+0x1a0
2016-04-15T22:21:28.612+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\db\dbmessage.h(302)                                mon
go::QueryMessage::QueryMessage+0x6a
2016-04-15T22:21:28.613+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\db\instance.cpp(194)                               mon
go::receivedQuery+0xbf
2016-04-15T22:21:28.613+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\db\instance.cpp(377)                               mon
go::assembleResponse+0x2fd
2016-04-15T22:21:28.614+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\db\db.cpp(205)                                     mon
go::MyMessageHandler::process+0xb8
2016-04-15T22:21:28.614+0100 I CONTROL  [conn2] mongod.exe    ...\src\mongo\util\net\message_server_port.cpp(232)              mon
go::PortMessageServer::handleIncomingMsg+0x553
2016-04-15T22:21:28.614+0100 I CONTROL  [conn2] mongod.exe    ...\src\third_party\boost\libs\thread\src\win32\thread.cpp(185)  boo
st::`anonymous namespace'::thread_start_function+0x21
2016-04-15T22:21:28.615+0100 I CONTROL  [conn2] mongod.exe    f:\dd\vctools\crt\crtw32\startup\threadex.c(376)                 _ca
llthreadstartex+0x17
2016-04-15T22:21:28.622+0100 I CONTROL  [conn2] mongod.exe    f:\dd\vctools\crt\crtw32\startup\threadex.c(354)                 _th
readstartex+0x102
2016-04-15T22:21:28.622+0100 I CONTROL  [conn2] KERNEL32.DLL                                                                   Bas
eThreadInitThunk+0x22
2016-04-15T22:21:28.629+0100 I CONTROL  [conn2]
2016-04-15T22:21:28.630+0100 I NETWORK  [conn2] AssertionException handling request, closing client connection: 10334 BSONObj size
: 33609065 (0x200D569) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "posts"
2016-04-15T22:21:28.642+0100 I NETWORK  [conn1] end connection 127.0.0.1:5047 (0 connections now open)

What's going on?

I've tried it with 3.0 and 3.2.

1
  • 1
    What does the data in the JSON file look like? Is everything wrapped in []? Or does it look unreadable and therefore is more likely a BSON dump? Commented Apr 15, 2016 at 22:34

4 Answers 4

7

According to https://jira.mongodb.org/browse/TOOLS-939, there is a bug which is affecting some versions of mongoimport and mongorestore that causes your mongoimport command to fail.

To sort out this problem, you can use --batchSize option with argument as 1.

Use this reformed query:

mongoimport -d blog -c posts < posts.json --batchSize 1

Hope this will work.

Sign up to request clarification or add additional context in comments.

Comments

0

Try with -j or --numInsertionWorkers flag. Some version has some issues and ticket was created in past. https://jira.mongodb.org/plugins/servlet/mobile#issue/TOOLS-939

mongoimport -j 4 -d blog -c posts --drop posts.json

Comments

0

Try the following format

mongoimport posts.json -d blog -c posts --drop --jsonArray

Comments

0

To import json file to your currently working mongoDB batabase, please follow the steps given below.

  1. Go to your the link and then select the cluster that your currently working with.
  2. Click on COLLECTIONS and after that go to command line tools.
  3. You can see Data Import and Export Tools over there which provides the command to import your json file to your database.
  4. Replace the tags as instructed in the command.

If you get any error like:

Failed: cannot decode array into a D

Then add --jsonArray at last of the command. Example:

mongoimport --host <hostname> --ssl --username <username> --password <PASSWORD> --authenticationDatabase admin --db <DATABASE> --collection <COLLECTION> --file <FILENAME> --jsonArray

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.