如何在MongoDB中恢复用户定义的javascript函数?

时间:2017-09-28 00:29:29

标签: mongodb

我使用mongodump和mongorestore命令将MongoDB生产数据库恢复到我们的测试环境。我们的数据库中有414个用户定义的函数,但没有一个被恢复。如何在测试环境中恢复生产环境中的功能?

1 个答案:

答案 0 :(得分:0)

这很简单。 system.js函数也是一个集合。因此,您可以使用以下命令转储集合,并使用mongorestore命令进行还原。

mongodump --host youripaddressorlocal --port yourportnumber --username "username" --password "password" --authenticationDatabase admin --collection system.js --db databasename

mongorestore --host localhost  --port 27017  --username "username" --password "yourpassword"  --collection system.js --drop --db yourdatabase dump/baabtra_db/system.js.bson

- 使用drop,如果该函数已经存在,则将被删除。如果仍然出现错误并且无法删除它,则可以使用以下命令删除mongoDb中的所有函数。

db.system.js.remove({})

请注意花括号非常重要。