猫鼬无法使用用户/密码连接到默认集合



我向mongo添加了身份验证,现在我无法使用mongooose连接到默认集合。

import { Mongoose } from 'mongoose';
let mongoose = new Mongoose();
mongoose.connect("mongodb://root:role@server.com/collectionName");

这将动态连接并创建集合名称。现在我收到一个连接错误,解决此问题的唯一方法是从 connectionString 中删除默认集合。

我以这种方式创建了一个具有根角色的 mongo 用户。

---蒙戈——

> use admin;
> db.auth('admin','password')
> db.createUser({user: "root", pwd: "role", roles: ["root"]})

我似乎做错了什么吗?蒙戈 v.3.4.5

我认为您提到的collectionName是数据库名称。

据我了解,您正在为数据库创建用户名+密码admin。 现在,如果您想为dbName创建用户/密码,则需要使用它:

use dbName
db.createUser({ user: "root", pwd: "root",
roles: [{ role:"dbOwner",db: "dbName" } ] })

当然,您可以使用所需的其他角色

最新更新