标签: mongodb-atlas

无法通过mongo shell连接到mongodb地图集

我检查了其他类似的帖子,但没有一个适合我的情况。

在连接到MongoDB Atlas之前,我升级了mongo shell,从中创建了一个免费的沙箱数据库。我将以下内容用于我的联系,这是由地图集提供的。

mongo "mongodb+srv://cluster0-z2lf6.mongodb.net/test" --authenticationDatabase admin --username <user> --password <password>
Run Code Online (Sandbox Code Playgroud)

数据库用户的图像: 数据库用户的图像

数据库概述的屏幕快照: 数据库概述的屏幕快照

这些是数据库的详细信息: 这些是数据库的细节

但是,终端显示此内容(我只包含了大约15行,其余为重复。):

MongoDB shell version v3.6.0
connecting to: mongodb+srv://cluster0-z2lf6.mongodb.net/test
2017-12-24T14:39:42.806+0800 I NETWORK  [thread1] Starting new replica set monitor for Cluster0-shard-0/cluster0-shard-00-00-z2lf6.mongodb.net.:27017,cluster0-shard-00-01-z2lf6.mongodb.net.:27017,cluster0-shard-00-02-z2lf6.mongodb.net.:27017
2017-12-24T14:39:42.990+0800 W NETWORK  [ReplicaSetMonitor-TaskExecutor-0] Failed to connect to 34.232.245.97:27017, in(checking socket for error after poll), reason: Connection refused
2017-12-24T14:39:42.991+0800 W NETWORK  [thread1] Failed to connect to 35.168.27.238:27017, in(checking socket for error after poll), reason: Connection refused
2017-12-24T14:39:43.492+0800 W NETWORK  [ReplicaSetMonitor-TaskExecutor-0] Failed to connect to 52.20.90.64:27017, in(checking …
Run Code Online (Sandbox Code Playgroud)

mongodb mongo-shell mongodb-atlas

9
推荐指数
2
解决办法
4795
查看次数

Kubernetes node.js 容器无法连接到 MongoDB Atlas

所以我整个下午都在为此苦苦挣扎。我根本无法让我的 NodeJS 应用程序在 kubernetes 上运行以连接到我的 MongoDB Atlas 数据库。

在我的应用程序中,我尝试运行

mongoose.connect('mongodb+srv://admin:<password>@<project>.gcp.mongodb.net/project_prod?retryWrites=true&w=majority', { useNewUrlParser: true })
Run Code Online (Sandbox Code Playgroud)

但我只是得到错误

UnhandledPromiseRejectionWarning: Error: querySrv ETIMEOUT _mongodb._tcp.<project>.gcp.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:196:19)
(node:32) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 17)
Run Code Online (Sandbox Code Playgroud)

我也尝试过设置 ExternalName 服务,但是使用 URL 或 ExternalName 导致我无法连接到数据库。

我已经在 MongoDB Atlas 上将我的 IP 列入白名单,所以我知道这不是问题。

它似乎也适用于我的本地机器,但不适用于 kubernetes pod。我究竟做错了什么?

mongoose mongodb node.js kubernetes mongodb-atlas

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

MongoDB:数据分区上的磁盘 I/O % 利用率已经消失

上次我从 MongoDB Atlas 收到警报时:

Disk I/O % utilization on Data Partition has gone above 70 on nvme2n1 
Run Code Online (Sandbox Code Playgroud)

但我不知道如何本地化/查询/索引/部分代码/有问题的集合。

我可以通过什么方式进行任何分析以找出问题的根本原因?

mongodb database-performance mongodb-query mongodb-indexes mongodb-atlas

9
推荐指数
2
解决办法
1217
查看次数

将数据库从 MongoDb atlas 导出到本地机器 Monogo Compass

我在 Atlas 中有名为“test”的远程数据库,我想将集合名称 image_table 作为 JSON 文件下载。

在mac终端中:

$ mongoexport –db test –collection image_table image.json 我得到了错误>

020-01-16T13:49:12.822+0100 错误解析命令行选项:位置参数太多:[–db test –collection image_table image.json] 2020-01-16T13:49:12.822+0100 试试 'mongoexport --help ' 想要查询更多的信息

json mongodb mongoexport mongodb-atlas mongodb-compass

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

从 Mongo Atlas 配置的连接百分比已超过 80

从 Mongo Atlas 收到电子邮件,上面写着Connections % of configured limit has gone above 80.

使用最大连接数为 100 的 M0 沙盒层。

升级到 M2 层(也有 100 个最大连接)是否可以解决这个问题?

database mongodb node.js loopbackjs mongodb-atlas

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

了解 MongoDB Atlas 中的 MongoDB 存储大小、逻辑数据与数据库大小

根据 mongodb atlas 中集群的配置,我们有一个具有 100 GB 存储空间的集群。

在此输入图像描述

集群的概述页面显示,最大 100 GB 中已使用 43.3 GB。

在此输入图像描述

由于集群配置还选择了 100 GB 存储,因此我假设 100 GB 磁盘空间与 100 GB 可用存储相同?

在此输入图像描述

当我们点击数据库时,它显示数据库大小为 66.64 GB + 3.21 GB 索引,总大小约为 70GB。

100GB 可用存储和磁盘与数据库大小 + 索引大小 70GB 有什么区别?我们是否应该担心 70 GB 接近 100 GB,还是只有 43.3 GB 的光盘使用量才是重要的?

编辑自从我发布此内容以来,MongoDB 已删除database size,并将其替换为storage sizelogical data size,这使情况进一步复杂化。在大多数情况下,逻辑数据大小是存储大小的 3-4 倍。

在此输入图像描述

storage mongodb mongodb-atlas

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

next.js 和 mongodb atlas - 收到“配置限制的连接百分比已超过 80”警报

我在 MongoDB Atlas 上看到了很多关于此警报的帖子和文章(“配置限制的连接百分比已超过 80”),但不知道如何在我的 Next.js 应用程序中解决它。

我在处理程序函数之外创建数据库连接。我使用了一个中间件withDatabase.js

const client = new MongoClient(process.env.MONGODB_URI, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true 
});

const addDbToRequest = (handler, req, res) => {
    req.db = req.connection.db("MYDBNAME");
    return handler(req, res);
};

const withDatabase = handler => async (req, res) => {
    if (!client.isConnected()) {
        await client.connect();
    }
    req.connection = client;
    return addDbToRequest(handler, req, res);
};

export default withDatabase;

Run Code Online (Sandbox Code Playgroud)

该中间件包装了 API 端点处理程序。

现在,如果我在每个 API 处理程序完成时关闭连接,如下所示:

    const { connection } = req;
    if (connection) {
        connection.close();
    } …
Run Code Online (Sandbox Code Playgroud)

mongodb next.js mongodb-atlas

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

如何使用 MongoDB Java 驱动程序更新数组中的对象?

你好,我有这份文件

{
  email: "email@gmail.com",
  list: [
    {
      "product": "Car",
      "price": 18
    },
    {
      "product": "Boat",
      "price": 20 
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用参数识别文档,并通过查找具有“Car”参数的产品并使用 MongoDB Java 驱动程序将价格email更新为 15 来更新参数中的特定对象。list

谢谢

java spring mongodb mongodb-java mongodb-atlas

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

Mongodb:文本索引与 Atlas 搜索

这两个功能看起来非常相似,但Atlas Search很新鲜,而且可能更强大。Atlas Search 可以替代 MongoDb 中的文本索引吗?文本索引会被弃用吗?我是否错过了一些本质区别?Atlas Search是Atlas云平台的专有功能吗?

full-text-search mongodb mongodb-atlas mongodb-atlas-search

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

如何通过 terraform 中的 mongodbatlas 提供程序获取完整的 uri,包括用户名和密码

当我尝试使用 Terraform 和 mongodb atlas 提供程序输出 mongodb uri 时,我无法获取包含用户名和密码的完整 uri。例如,当我做类似的事情时:

terraform {
  required_version = "~> 0.14.7"

  required_providers {
    mongodbatlas = {
      source  = "mongodb/mongodbatlas"
      version = "0.8.2"
    }
  }
}

provider "mongodbatlas" {
  public_key  = var.mongodbatlas_public_key
  private_key = var.mongodbatlas_private_key
}

data "mongodbatlas_cluster" "db" {
  project_id = var.mongodbatlas_project_id
  name       = format("some-db-name-%s", var.env)
}

output "db_url" {
  value = data.mongodbatlas_cluster.db.connection_strings[0].address_srv
}
Run Code Online (Sandbox Code Playgroud)

我总是得到以下形式的 uri:mongodb+srv://some-db-name-staging.xjcol.mongodb.net 将其作为环境变量添加到我的 Web 应用程序中以连接到数据库不起作用,因为它需要使用用户名和密码进行身份验证。手动将用户名和密码添加到该字符串中mongodb+srv://[username]:[password]@some-db-name-staging.xjcol.mongodb.net,应用程序可以正常连接到数据库。

mongodb continuous-deployment continuous-delivery terraform mongodb-atlas

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