我正在尝试通过 POST 请求将一个对象插入到 mongodb 中。我发送的对象成功插入到数据库中,但是我收到了上面提到的错误。
我用于 mongo db 的包:
连接字符串
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) 我在将集合从 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 应该更容易。非常感谢任何帮助或建议。谢谢!
我最近为软件工程训练营部署了 Next.js 应用程序。我使用 Vercel 来托管 Web 应用程序。我遇到的问题之前已经在互联网上讨论过。但是,我找不到太多有用的信息。
当我从 Vercel 仪表板查看应用程序的实时日志时,我创建的多个 API 路由会引发 504 错误。我知道 Vercel 根据某人订阅的托管计划对请求施加限制。然而,我忍不住想知道我在部署应用程序时是否忽略了一个重要步骤。
部署我的应用程序时,我做了以下事情:
我希望能帮助您查明这些错误是否是我的错,以及我是否可以对此做些什么,或者它们是否仅仅是由“爱好”计划的限制引起的。
预先非常感谢你,-Sam
我无法通过驱动程序、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)
我正在尝试将我的 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 所需的密钥。
我正在尝试将 Cloud Run 服务连接到 MongoDB Atlas 服务器,而不必将所有 IP 列入白名单,但我无法做到。我已经尝试过本教程,但它不适用于 mongo。我尝试了 SSH 隧道,但也没有奏效。
python mongodb google-cloud-platform mongodb-atlas google-cloud-run