Sitecore and MongoDB Q&A

I was helping a Sitecore Partner with some of their MongoDB related questions. I’m not a MongoDB expert by any means but I felt that the responses I sources might be of benefit to the wider community.

1)      Will there be impact on Sitecore, if Javascript disabled on MongoDB configuration ?

Yes. Javascript must be enabled on MongoDB.

2)      Does Sitecore save and read data on MongoDB, if database encrypt at rest using wiredtiger database engine.

Sitecore currently doesn’t encrypt the data stored in MongoDB, but the connection is secure via SSL. Data-at-rest encrypting was introduced with MongoDB 3.2. the upcoming 8.2 release supports mongo 3.2 with data-at-rest encryption.

3)      Does Sitecore support multi access control with MongoDB, for e.g. there are five database on MongoDB of Sitecore and each database should connect on different role rather than just on single role. If it does, is there any impact ?

You can use a different user per mongoDB database connection.

4)      Sitecore creates collection (table) on fly, if we restrict after first initialization, is there any impact?

There is an impact – There is a DistributedWorker class which creates and destroys MongoDB collections on the fly.  This is used by a few Sitecore products (path analyzer and experience analytics).  Furthermore, it’s a public API so other products might use this without Sitecore’s knowledge.

4)    We would like to change Sitecore and Commerce SQL server database account every quarter, when they change database user account. Does it require to clear a cache ?

Modifying the accounts requires changes to the ConnectionString.config file or the account for which a process runs (e.g. the credentials running the website). A change in either scenario will trigger caches to be reset.