设置了 DB.prototype.dropDatabase 为 no,为什么还要设置 db.dropDatabase 呢?

2021-01-20 18:00:22 +08:00
 JasonLaw

MongoDB: The Definitive Guide, 3rd Edition - 2. Getting Started - Using the MongoDB Shell - Creating a .mongorc.js中,有下面这么一段:

More practically, you can use this script to set up any global variables you’d like to use, alias long names to shorter ones, and override built-in functions. One of the most common uses for .mongorc.js is remove some of the more “dangerous” shell helpers. You can override functions like dropDatabase or deleteIndexes with no-ops or undefine them altogether:

db.dropDatabase = DB.prototype.dropDatabase = no;

Make sure that, if you change any database functions, you do so on both the db variable and the DB prototype (as shown in the example above). If you change only one, either the db variable won’t see the change or all new databases you use (when you run use anotherDB) won’t see your change.


db.dropDatabase 是来源于 DB.prototype.dropDatabase 的,设置了 DB.prototype.dropDatabase 为 no,为什么还要设置 db.dropDatabase 呢?我自己做了实验,只需要“设置 DB.prototype.dropDatabase 为 no”就可以了,是还有其它我不知道的东西吗?

1365 次点击
所在节点    MongoDB
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/746779

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX