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