mongo "mongoldb://user:pass@127.0.0.1:1555/admin"
mongo 127.0.0.1:1555/admin -u user -p pass
mongo 127.0.0.1:1555/admin 输入db.auth('user','pass')
区别
mongo "mongoldb://user:pass@127.0.0.1:1555/admin"
机制:MongoDB 驱动程序解析整个字符串,提取主机、端口、用户名、密码和认证数据库,在建立 TCP 连接的同时发送认证请求
内部逻辑:mongo 程序的代码里(是用 C++ 写的)内置了 MongoDB 的 C++ 驱动程序。
mongodb:// 开头,于是调用内部的驱动逻辑来解析这个 URI。user, pass, 127.0.0.1, 1555, admin 等信息。
mongo 127.0.0.1:1555/admin -u user -p pass
mongo 客户端解析 -u 和 -p 参数,在连接建立后立即使用提供的凭据向指定的数据库(这里是 admin)发起认证。