标签: mongodb-atlas

“在副本集配置中找不到名为‘多数’的写关注模式”错误

我正在尝试通过 POST 请求将一个对象插入到 mongodb 中。我发送的对象成功插入到数据库中,但是我收到了上面提到的错误。

我用于 mongo db 的包:

https://github.com/mongodb/mongo-go-driver

连接字符串

mongodb+srv://user:password@bookcluster.pxcqs.mongodb.net/DBname?retryWrites=true&w=majority`

我设置数据库连接的方式:

var DbConn *mongo.Client //*sql.DB //*mongo.Client

func SetupDB(conn_str string) {
    var err error
    DbConn, err = mongo.NewClient(options.Client().ApplyURI(conn_str))
    if err != nil {
        log.Fatal(err)
    }
    ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
    err = DbConn.Connect(ctx)
    if err != nil {
        log.Fatal(err)
    }
}
Run Code Online (Sandbox Code Playgroud)

我的对象:

package book

import "go.mongodb.org/mongo-driver/bson/primitive"

type Book struct {
    Id        primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
    Title     string             `json:"title" bson:"title"`
    Author    string             `json:"author" bson:"author"`
    Year      int                `json:"year" bson:"year"`
    ShortDesc string             `json:"shortDesc" …
Run Code Online (Sandbox Code Playgroud)

go mongodb mongodb-query mongodb-atlas

1
推荐指数
2
解决办法
2787
查看次数

SyntaxError:尝试将 Mongo Atlas 集合导出到本地计算机时缺少分号

我在将集合从 Mongo Atlas 导出到本地计算机时遇到问题。我尝试了几种不同的格式,包括这种格式,我在有关导入和导出数据的 Atlas 官方文档中找到了这种格式。

首先,我像这样登录我的 Atlas:

mongosh "mongodb+srv://cluster0.oyvrw.mongodb.net/dbname" --username uname

然后我尝试官方文档中的命令:

mongoexport --uri mongodb+srv://uname:password@cluster0.oyvrw.mongodb.net/dbname --collection colname --type json --out cats.json

我查看了其他类似的问题,并尝试了我在网上可以找到的所有内容,但没有成功。一种建议是不要从 mongo shell 运行命令,而是从常规命令行运行命令,但这也不起作用。

看起来从 Atlas 中获取集合到 JSON 应该更容易。非常感谢任何帮助或建议。谢谢!

database command-line mongodb mongodb-atlas

1
推荐指数
1
解决办法
1万
查看次数

Vercel:任务在 10.01 秒后超时

我最近为软件工程训练营部署了 Next.js 应用程序。我使用 Vercel 来托管 Web 应用程序。我遇到的问题之前已经在互联网上讨论过。但是,我找不到太多有用的信息。

当我从 Vercel 仪表板查看应用程序的实时日志时,我创建的多个 API 路由会引发 504 错误。我知道 Vercel 根据某人订阅的托管计划对请求施加限制。然而,我忍不住想知道我在部署应用程序时是否忽略了一个重要步骤。

部署我的应用程序时,我做了以下事情:

  1. 将会话存储连接到我的 MongoDB 数据库。
  2. 创建受密码保护的 MongoDB Atlas 帐户(凭据是环境变量)。
  3. 将所有 IP 地址列入白名单,以便任何用户都可以与其数据库部分进行交互。

我希望能帮助您查明这些错误是否是我的错,以及我是否可以对此做些什么,或者它们是否仅仅是由“爱好”计划的限制引起的。

预先非常感谢你,-Sam

截屏: 在此输入图像描述

mongoose mongodb next.js mongodb-atlas vercel

1
推荐指数
1
解决办法
2953
查看次数

无法连接到 MongoDB Atlas (queryTxt ETIMEOUT)

我无法通过驱动程序、mongoshell 或 MongoDB 指南针连接到 MongoDB Atlas。获取错误:queryTxt ETIMEOUT

Error:  { Error: queryTxt ETIMEOUT clustermasjeed1-ekpfe.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:197:19)
  errno: 'ETIMEOUT',
  code: 'ETIMEOUT',
  syscall: 'queryTxt',
  hostname: 'clustermasjeed1-ekpfe.mongodb.net' }
Run Code Online (Sandbox Code Playgroud)

我遵循了 mongodb atlas (mongodb.cloud) 关于如何连接的指南:

const MongoClient = require(‘mongodb’).MongoClient;
const uri = "mongodb+srv://<username>:<password>@clustermasjeed1-ekpfe.mongodb.net/test?retryWrites=true";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
  const collection = client.db("test").collection("devices");
  // perform actions on the collection object
  client.close();
});
Run Code Online (Sandbox Code Playgroud)

用真实字符串值替换用户名和密码。我有强烈的感觉,原因是 +srv 部分。之前使用mlab的时候,连接只有mongodb://(没有+srv)

mongodb express mongodb-atlas

0
推荐指数
2
解决办法
4050
查看次数

MongooseServerSelectionError:读取 ECONNRESET

我正在尝试将我的 Nodejs 应用程序连接到 MongoDB Atlas,但它抛出错误。

这是错误消息:

这是 catch 块中的错误: MongooseServerSelectionError: read ECONNRESET DB connection error: read ECONNRESET

下面是我的 Nodejs 应用程序的代码:

const mongoose = require("mongoose");
const dotenv = require("dotenv");
dotenv.config();

//db connection
mongoose
  .connect(process.env.MONGO_URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true
  })
  .then(() => console.log("DB Connected"))
  .catch(err => {
    console.log("This is the error in the catch block: " + err);
  });

mongoose.connection.on("error", err => {
  console.log(`DB connection error: ${err.message}`);
});
Run Code Online (Sandbox Code Playgroud)

注意:-我声明了 .env 文件,其中有一个变量 MONGO_URI 来保存连接到 MongoDB Atlas 所需的密钥。

javascript backend mongodb node.js mongodb-atlas

0
推荐指数
1
解决办法
4082
查看次数

将 Google Cloud Run 实例连接到 MongoDB

我正在尝试将 Cloud Run 服务连接到 MongoDB Atlas 服务器,而不必将所有 IP 列入白名单,但我无法做到。我已经尝试过教程,但它不适用于 mongo。我尝试了 SSH 隧道,但也没有奏效。

python mongodb google-cloud-platform mongodb-atlas google-cloud-run

0
推荐指数
1
解决办法
1222
查看次数