我有一个简单的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错误
答案 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