GVKun编程网logo

从mlab切换到mongodb-atlas后的连接问题(mongodb atlas)

22

在这里,我们将给大家分享关于从mlab切换到mongodb-atlas后的连接问题的知识,让您更了解mongodbatlas的本质,同时也会涉及到如何更有效地atlasmongodb无服务器和awsl

在这里,我们将给大家分享关于从mlab切换到mongodb-atlas后的连接问题的知识,让您更了解mongodb atlas的本质,同时也会涉及到如何更有效地atlas mongodb 无服务器和 aws lambda 连接问题、Golang 和 MongoDB - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象、Heroku 部署后,Django(djongo) 无法连接到 MondoDB Atlas、MongoDB Atlas mongorestore 连接失败无法及时响应的内容。

本文目录一览:

从mlab切换到mongodb-atlas后的连接问题(mongodb atlas)

从mlab切换到mongodb-atlas后的连接问题(mongodb atlas)

在Heroku中,当您选择MLab服务时,数据库很可能与您的Meteor实例位于同一VPC中。首先,我要确保在与Heroku相同的地区和服务提供商中运行Atlas MongoDB。 (例如,Meteor和Mongo都在AWS eu-central上运行)。你做了这个了吗? https://www.mongodb.com/blog/post/integrating-mongodb-atlas-with-heroku-private-spaces

您是否超出了Mongo群集的限制? https://docs.atlas.mongodb.com/reference/atlas-limits/对于避免为您不需要的服务规模付费很重要。

Monti APM(https://montiapm.com/)为Meteor提供了8小时的免费监控服务。这样可以帮助您了解Oplog的交易量和交易量。

我不知道您如何设置Oplog,但是您也可以尝试使用此(较旧的)Mongo URI。我仍然将其与最新的Meteor版本一起使用,但我对此表示满意:

"env": {
      "MONGO_URL": "mongodb://yourapp:XXXXXXXXXXXXXXXX@yourapp-shard-00-00-zc1lg.mongodb.net:27017,yourapp-shard-00-01-zc1lg.mongodb.net:27017,yourapp-shard-00-02-zc1lg.mongodb.net:27017/meteor?ssl=true&replicaSet=yourapp-shard-0&authSource=admin","MONGO_OPLOG_URL": "mongodb://yourapp-oplog:XXXXXXXXXXXXXXXX@yourapp-shard-00-00-zc1lg.mongodb.net:27017,yourapp-shard-00-02-zc1lg.mongodb.net:27017/local?authSource=admin&ssl=true&replicaSet=Yourapp-shard-0"
    }

atlas mongodb 无服务器和 aws lambda 连接问题

atlas mongodb 无服务器和 aws lambda 连接问题

如何解决atlas mongodb 无服务器和 aws lambda 连接问题?

我在 atlas (https://www.mongodb.com/serverless) 上有一个无服务器数据库。我用的是ATLAS推荐的连接字符串:

mongodb+srv://<username>:<password>@xyz.esxbh.mongodb.net/myFirstDatabase?retryWrites=true&w=majority

但是,一旦我尝试创建记录,就会收到以下错误:

{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"MongoParseError: Text record must only set `authSource` or `replicaset`","reason":{"errorType":"MongoParseError","errorMessage":"Text record must only set `authSource` or `replicaset`","name":"MongoParseError","stack":["MongoParseError: Text record must only set `authSource` or `replicaset`","

我认为连接字符串不正确,另一方面,服务器的 dns 条目确实回复了 2 个服务器。

我尝试删除 ''+srv'' 部分,但是在那种情况下,来自 mongoose 的保存函数会永远挂起,使 lambda 函数超时。

我在谷歌上找不到任何类似的问题。

来自DNS服务器的TXT条目记录显示:

"TXT    "authSource=admin&loadBalanced=true"

您如何配置无服务器数据库以使其正常工作?

产生错误的代码依赖于mongoose,如下:

        try {
          const customer = new Customer(cust);
          console.log(''new cusotmer created'');
          const returnedCustomer = await customer.save();
          console.log(returnedCustomer);
          return serverResponse(200,returnedCustomer);
        } catch(err){
          console.log(err);
          return errorHandler(500,err)
        }

似乎与数据库的连接没问题:

try {
    await dbTools.connectMongoose();
    console.log(''*** connected ***'');

} catch(err){
    console.log(''error when connecting'');
    return errorHandler(500,err);
}

现在,看看源代码,没什么太复杂的:

if (Object.keys(record).some(key => key !== ''authSource'' && key !== ''replicaset'')) {
  return callback(
    new MongoParseError(''Text record must only set `authSource` or `replicaset`'')
  );
}

我现在真的很难理解出了什么问题,因为 authSource 似乎存在于 TXT 记录中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Golang 和 MongoDB - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象

Golang 和 MongoDB - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象

golang 和 mongodb - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象

问题内容

我曾经使用 React 和 Nodejs 来实现 todo 应用程序。 React 和 Nodejs 中更新 Mongodb 数据库的切换功能如下代码:

const toggleChecked = ({ _id, isChecked }) => {
  TasksCollection.update(_id, {
    $set: {
      isChecked: !isChecked
    }
  })
};
登录后复制

我想在Golang中实现切换功能来更新布尔字段,但我得到了对象,以下是golang代码:

func updateOneMovie(movieId string) model.Netflix {
    id, _ := primitive.ObjectIDFromHex(movieId)
    filter := bson.M{"_id": id}
    update := bson.M{"$set": bson.M{"watched": bson.M{"$not": "$watched"}}}
    var updateResult model.Netflix

    result, err := collection.UpdateOne(context.Background(), filter, update)

    err = collection.FindOne(context.Background(), filter).Decode(&updateResult)

    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(result)
    return updateResult
}
登录后复制

Mongodb 中的结果更新为对象而不是布尔值。我该如何修复以使其更新切换布尔值?

解决方法

传递单个文档(例如 bson.M或bson.D)作为更新文档,字段名称和值将按原样(字面意思)解释。

立即学习“go语言免费学习笔记(深入)”;

使用带有更新的聚合管道,您必须传递一个数组作为更新文档,这会触发将其解释为聚合管道。这是唯一的要求。该数组可能是 mongo.Pipeline, bson.A,[]bson.D, []bson.M 甚至 []any,没关系,它必须是 Go 中的数组或切片。这些元素可以是 bson.M、bson.D 或表示文档的任何其他值。

最简单的解决方案:

filter := bson.M{"_id": id}
update := []any{
    bson.M{"$set": bson.M{"watched": bson.M{"$not": "$watched"}}}
}
登录后复制

以上就是Golang 和 MongoDB - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象的详细内容,更多请关注php中文网其它相关文章!

Heroku 部署后,Django(djongo) 无法连接到 MondoDB Atlas

Heroku 部署后,Django(djongo) 无法连接到 MondoDB Atlas

如何解决Heroku 部署后,Django(djongo) 无法连接到 MondoDB Atlas?

我设法让它在本地工作(不同的集群,单独的 settings.py),但在部署到 Heroku 之后就不行了。

Heroku - 使用 postgresql 自动添加 DATABASE_URL 配置变量,我无法删除/编辑它。

MongoDB Atlas - 我已将 MongoDB Atlas 集群设置为允许来自任何地方的 IP。并且密码没有有趣的字符。

django production settings.py

DATABASES = {
    ''default'': {
        ''ENGINE'': ''djongo'',''NAME'': ''DBProd'',''CLIENT'': {
          ''host'': "mongodb+srv://XXX:YYY@ZZZ.pc4rx.mongodb.net/DBProd?retryWrites=true&w=majority",}
    }
}

我在部署后直接运行迁移,一切正常 heroku run python manage.py migrate

一切正常,只是数据未存储在 MongoDB Atlas 集群中。有很多来自不同网站的帖子,但它们都有不同的说明......我试图关注一些帖子:

  • https://developer.mongodb.com/how-to/use-atlas-on-heroku/
  • Django + Heroku + MongoDB Atlas (Djongo) = DatabaseError with No Exception
  • Connecting Heroku App to Atlas MongoDB Cloud service

-- 一个很迷茫的初学者

解决方法

对于登陆此的任何人。在 ''authMechanism'': ''SCRAM-SHA-1'', 下方添加 ''host'' 将解决该问题。

MongoDB Atlas mongorestore 连接失败无法及时响应

MongoDB Atlas mongorestore 连接失败无法及时响应

如何解决MongoDB Atlas mongorestore 连接失败无法及时响应?

在对 Azure MongoDB Atlas 集群执行 mongorestore 时收到以下间歇性错误消息:

" 运行创建命令时出错:connection(qa-tst-byn-aut-csh-usea-shard-00-02.ysjbm.mongodb.net:27017[-12]) 未完整读取消息头:读取 tcp 192.168.251.2:52797 ->20.81.177.159:27017: wsarecv: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者因为连接的主机没有响应而建立连接失败。 "

我如何弄清楚为什么会这样??什么是最好的解决方法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

关于从mlab切换到mongodb-atlas后的连接问题mongodb atlas的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于atlas mongodb 无服务器和 aws lambda 连接问题、Golang 和 MongoDB - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象、Heroku 部署后,Django(djongo) 无法连接到 MondoDB Atlas、MongoDB Atlas mongorestore 连接失败无法及时响应等相关内容,可以在本站寻找。

本文标签: