我向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" } ] })
当然,您可以使用所需的其他角色