我向mongo添加了身份验证,现在我无法使用mongooose连接到默认集合。
import { Mongoose } from 'mongoose';
let mongoose = new Mongoose();
mongoose.connect("mongodb://root:role@server.com/collectionName");
这将连接并动态创建collectionName。现在我收到连接错误,解决此问题的唯一方法是从connectionString中删除默认集合。
我以这种方式创建一个具有root角色的mongo用户。
---蒙戈 -
> use admin;
> db.auth('admin','password')
> db.createUser({user: "root", pwd: "role", roles: ["root"]})
有什么我似乎做错了吗? Mongo v.3.4.5
答案 0 :(得分:0)
我认为你提到的collectionName
是数据库名称。
据我了解,您正在为db admin
创建用户名+密码。
现在,如果您要为dbName
创建用户/密码,则需要使用此项:
use dbName
db.createUser({ user: "root", pwd: "root",
roles: [{ role:"dbOwner",db: "dbName" } ] })
当然,你可以使用你想要的另一个角色