MongoDB FailedToParse:值

时间:2015-05-19 01:21:54

标签: json mongodb bson database-restore

我有一个简单的mongodb数据库。我使用mongodump进行转储。

转储命令

mongodump --db user_profiles --out /data/dumps/user-profiles

以下是user_profiles数据库的内容。它有一个集合(user_data),包含以下内容:

{ "_id" : ObjectId("555a882a722f2a009fc136e4"), "username" : "thor", "passwd" : "*1D28C7B35C0CD618178988146861D37C97883D37", "email" : "thor@avengers.com", "phone" : "4023331000" }
{ "_id" : ObjectId("555a882a722f2a009fc136e5"), "username" : "ironman", "passwd" : "*626AC8265C7D53693CB7478376CE1B4825DFF286", "email" : "tony@avengers.com", "phone" : "4023331001" }
{ "_id" : ObjectId("555a882a722f2a009fc136e6"), "username" : "hulk", "passwd" : "*CB375EA58EE918755D4EC717738DCA3494A3E668", "email" : "hulk@avengers.com", "phone" : "4023331002" }
{ "_id" : ObjectId("555a882a722f2a009fc136e7"), "username" : "captain_america", "passwd" : "*B43FA5F9280F393E7A8C57D20648E8E4DFE99BA0", "email" : "steve@avengers.com", "phone" : "4023331003" }
{ "_id" : ObjectId("555a882a722f2a009fc136e8"), "username" : "daredevil", "passwd" : "*B91567A0A3D304343624C30B306A4B893F4E4996", "email" : "daredevil@avengers.com", "phone" : "4023331004" }

将转储复制到nfs然后尝试使用mongorestore将转储加载到测试服务器

mongorestore --host db-test --port 27017 /remote/dumps/user-profiles

我收到以下错误:

Mon May 18 20:19:23.918         going into namespace [user_profiles.user_data]
assertion: 16619 code FailedToParse: FailedToParse: Bad characters in value: offset:30

如何解决此FailedToParse错误

1 个答案:

答案 0 :(得分:11)

为了进行进一步的测试,我创建了一个test_db,其test_collection只有一个简单的值'x':1,甚至不起作用。所以我知道其他事情必须继续下去。

您工具的版本很重要

正在使用的mongodump版本是3.0.3。使用mongorestore的另一个虚拟机上的版本是2.4.x.这是导致错误的原因。一旦我在我的虚拟机(see official guide)上更新了mongodb-org-tools,我就可以按预期启动并运行。

希望这可以帮助将来的某个人。检查你的版本!

mongodump --version
mongorestore --version