So I recently upgraded from M0–>M10
I have an external application that connects to my MongoDB, all was working great with the M0 tier, but I decided to upgrade to leverage the Power BI Connection capabilities.
Anyways, now I get an error:
not authorized on EmergDB to execute command { find: “system.views”, filter: {}, limit: 50, returnKey: false, showRecordId: false, lsid: { id: UUID(“2eb7f5f9-7e75-4a72-a20f-a8ca0ab65243”) },
$clusterTime: { clusterTime: Timestamp(1661880398, 1), signature: { hash: BinData(0, 28DC930BC47675C14EAB04D802D8CE93E636C55A), keyId: 7137659592053358596 } }, $db: “EmergDB” }
And now I see system.views as a collection in my database (never existed before).
I’m really struggling here because now my application won’t connect to the database at all. Any help would be greatly appreciated.
Hi @Ahmed_Chaarani ,
I’m really struggling here because now my application won’t connect to the database at all.
Just to clarify, are you not able to connect at all after upgrading? Based off the error, it seems connection is possible but the database user is not authorized to perform a db.collection.find()
command on the "system.views"
collection within the EmergDB
database.
And now I see system.views as a collection in my database (never existed before).
As per the following documentation :
MongoDB stores system information in collections that use the <database>.system.*
namespace , which MongoDB reserves for internal use.
Additionally:
The <database>.system.views
collection contains information about each view in the database.
To further help us assist you with this issue, can you provide the following information:
MongoDB version in use
The connection portion of the code used to connect to the database (Please redact any personal or sensitive information)
The associated roles / privledges of the database user that the error is being returned for (As well as the database user used for power BI)
Further details surrounding the “external application that connects to my MongoDB”. (Driver, driver version, etc)
Any connection string(s) in use (please redact credentials)
Confirmation that the issue is only for the external application or Power BI
Regards,
Jason
2 Likes
Alex_Leong
(Alex Leong)
December 3, 2024, 4:59pm
5
Hi Jason
I am pretty sure previously I was able to see the view definition with a command like this.
db.getCollection(‘system.views’).find()
However, I am no longer able to see it now. Has this changed in recent Atlas version ?
Please let me know
Thanks
Alex
Alex_Leong
(Alex Leong)
December 3, 2024, 8:05pm
6
never mind. db.getCollectionInfos( ) gives me the definition.