V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
JasonLaw
V2EX  ›  MongoDB

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

  •  
  •   JasonLaw · Jan 20, 2021 · 1956 views
    This topic created in 1923 days ago, the information mentioned may be changed or developed.

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

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5518 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:19 · PVG 17:19 · LAX 02:19 · JFK 05:19
    ♥ Do have faith in what you're doing.