在这里,我们将给大家分享关于从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)
- atlas mongodb 无服务器和 aws lambda 连接问题
- Golang 和 MongoDB - 我尝试使用 golang 将切换布尔值更新为 mongodb,但得到了对象
- Heroku 部署后,Django(djongo) 无法连接到 MondoDB Atlas
- MongoDB Atlas mongorestore 连接失败无法及时响应
从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 (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,但得到了对象
问题内容
我曾经使用 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?
我设法让它在本地工作(不同的集群,单独的 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 连接失败无法及时响应?
在对 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 连接失败无法及时响应等相关内容,可以在本站寻找。
本文标签: