MongoDB:FailedToParse:值中的错误字符

时间:2014-11-18 04:41:33

标签: mongodb mongodump

mongodump命令:

mongodump --host myhost.com --port 12345 --username myUsername --password PSWRD --out /opt/somepath --db myDb --collection my_collection --query "{ content_type_id: { \$not: { \$eq: db.my_type.findOne({slug: 'form_submissions'} )._id } } }" --verbose

结果:

assertion: 16619 code FailedToParse: FailedToParse: Bad characters in value:
offset:33 of:{ content_type_id: { $not: { $eq: db.my_type.findOne({slug: 'form_submissions'} )._id } } }

1 个答案:

答案 0 :(得分:1)

这不是有效的查询。 --query必须是JSON文档。您的错误在于认为mongodump是一种程序化的东西,如mongo shell,它可以评估findOne并将值替换为查询。不是这种情况。您可以从_id的结果中找到findOne,并将其手动放入mongodump --query。如果是_id的类型,请使用extended JSON format作为ObjectId类型。