For old mongo client i've using .mongorc.js script, which automaticly authenticate and connect to specified in parameter database:
olddb=db;
db = connect("127.0.0.1:27017/admin?replicaSet=replSet");
db.auth("root", "password" );
db = db.getSiblingDB(olddb);
How to do the same using mongosh? Simply copy .mongorc.js into .mongoshrc.js provide error:
Error while running ~/.mongoshrc.js:
MongoServerError: Authentication failed.
I can authenticate using something like:
olddb=db;
db = connect("mongodb://root:password@127.0.0.1:27017/admin?replicaSet=replSet");
but - try to switch into database specified as parameter show an error:
# mongosh test
Current Mongosh Log ID: XXX
Connecting to: mongodb://127.0.0.1:27017/test?directConnection=true&serverSelectionTimeoutMS=2000
Using MongoDB: 5.0.2
Using Mongosh: 1.0.5
For mongosh info see: https://docs.mongodb.com/mongodb-shell/
replSet [primary] admin> olddb
test
replsSet [primary] admin> db.getSiblingDB(olddb)
MongoshInvalidInputError: [COMMON-10001] Argument at position 0 must be of type string, got object instead (Database.getSiblingDB)
replSet [primary] admin> db.getSiblingDB("test")
test
replSet [primary] admin>