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

时间:2017-07-24 05:02:51

标签: node.js mongodb mongoose

我向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

1 个答案:

答案 0 :(得分:0)

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

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

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

当然,你可以使用你想要的另一个角色