V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
JasonLaw
V2EX  ›  MongoDB

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

  •  
  •   JasonLaw · 2021-01-20 18:00:22 +08:00 · 1337 次点击
    这是一个创建于 1162 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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”就可以了,是还有其它我不知道的东西吗?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5310 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:33 · PVG 17:33 · LAX 02:33 · JFK 05:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.