可以在MongoDB中删除默认数据库和system.indexes吗

0 投票
1 回答
558 浏览
提问于 2025-04-30 23:59
  1. 在MongoDB中,有没有办法删除localadmin这两个数据库,或者用PyMongo让它们在下面的脚本输出中不显示?
  2. 用PyMongo,有没有办法忽略或者删除system.indexes这个集合,让它在下面的脚本输出中不显示?

以下是PyMongo的代码:

from pymongo import MongoClient

if __name__ == '__main__':

    db = MongoClient()

    for db_name in db.database_names():
        print "Database name: " + db_name
        for col_name in db[db_name].collection_names():
            print " - Collection name: " + col_name

运行后产生了以下输出:

Database name: test
- Collection name: system.indexes
- Collection name: users
Database name: local
- Collection name: startup_log
- Collection name: system.indexes
Database name: admin
暂无标签

1 个回答

1

不要删除本地数据库!只需在你的程序输出中排除管理员和本地数据库:

if db_name in ['local', 'admin']:
    continue

你可能还想从你的集合列表中排除系统索引(system.indexes)。

撰写回答