How to programmatically get the current database Mongoid is writing to?

前端 未结 5 1693
南笙
南笙 2021-02-13 15:22

I am talking to multiple databases using Mongoid.override_database(\"database_name\") using Mongoid with rails. How do I find the current database programmatically?

Mon

5条回答
  •  孤独总比滥情好
    2021-02-13 16:07

    Running Mongoid.default_session.options[:database] gives an error that default_session is invalid. It is now default_client. That works wonderfully.

    Run it without the [:database] to get all the option and see the full configuration of your database.

    Mongoid::Config.clients["default"]["database"] assumes you are NOT using the uri version of mongoid.yml. You will get nil in all cases. Use Mongoid::Config.clients["default"] to get the full configuration of the current database, or Mongoid::Config.clients["default"]['uri'] to give you just the full uri.

    Pick the database name from the URI after the last port number/. There could be severalif using a sharded configuration

提交回复
热议问题