0

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

结果是:

断言:16619 代码 FailedToParse:FailedToParse:值中的错误字符:
偏移量:33 of:{ content_type_id: { $not: { $eq: db.my_type.findOne({slug: 'form_submissions'} )._id } } }
4

1 回答 1

1

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

于 2014-11-18T08:25:36.410 回答