我有一个连接到mongoDB的Atlas集群的问题。
如果我试图获取一些数据它会返回一个错误
"没有名为'majority'的写关注模式,'在副本集配置中找到';
我已经查找了错误,每个人都说要删除连接字符串末尾的&w=majority
。
做了,但现在我面临一个新的错误
UnhandledPromiseRejectionWarning: MongoParseError: For retryWrites预期字符串化布尔值,get: true
我没有以任何方式修改字符串,它昨天还在工作。
my string is
mongodb + srv://用户名:password@cluster0.yummd.mongodb.net/dbName ? retryWrites = true& w =多数
字符串末尾没有空格,不知道是什么。
帮忙吗?
我有同样的问题,看到你的帖子。我发现,在我的连接的问题是,我有双引号和单引号"'mongodb+srv://username:password@database.aaaa.mongodb.net/collection?retryWrites=true&w=majority'"
。所以简单的解决方案就是去掉单引号。这为我解决了这个问题。然后得到:"mongodb+srv://username:password@database.aaaa.mongodb.net/collection?retryWrites=true&w=majority"
我不知道你是否已经解决了它,但也许你还没有。
您的URI中有一些不可打印的字符。用手打出来,不要复制粘贴。
我也遇到过同样的问题。
有两种可能的原因:
-
dotenv.config();
应该在const MongoStore = connectMongo;
之上 -
检查
mongodburl
中空格和字符