如何使用 Docker 和 Prisma 解决 Mongodb 中的 SCRAM 身份验证问题?

问题描述 投票:0回答:3

当我尝试从 prisma 运行任何命令时,我收到此错误消息:

$ npx prisma 迁移重置

错误:MongoDB 错误 SCRAM 故障:身份验证失败。 0:迁移核心::状态::重置 在迁移引擎/core/src/state.rs:341

当我运行 docker ps 时:

集装箱编号 |图像| 命令| 创建 | 状态 | 港口 | 姓名

388a7219da3d |蒙戈:最新| “docker-entrypoint.s…” |大约一个小时前 |大约一个小时 | 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp |拍卖-mongodb

我的模式.prisma:

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["mongodb"]
}

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

model Test {
  id String  @id @default(auto()) @map("_id") @db.ObjectId
  text String 
}

.env:

DATABASE_URL=mongodb://auction-user:password@localhost:27017/auction-db?authSource=admin
mongodb docker prisma
3个回答
28
投票

只需将

?authSource=admin
添加到
.env
文件中 DATABASE_URL 的末尾即可。


3
投票

就我而言,这段代码已解决。 用户和 pw 假设具有 root 角色。

DATABASE_URL="mongodb://root:example@localhost:3333/liz?retryWrites=true&w=majority&authSource=admin"

DATABASE_URL="mongodb://username:password@ip:port/db?retryWrites=true&w=majority&authSource=admin"

如果你想连接到本地 mongodb,请删除 +rsv


0
投票

“authSource=admin”添加此一项

DATABASE_URL="mongodb+srv://rdilsha8755:[email protected]/myDatabase**?authSource=admin**"

© www.soinside.com 2019 - 2024. All rights reserved.