【问题标题】:connect to documentdb using robomongo使用 robomongo 连接到 documentdb
【发布时间】:2017-11-26 08:37:34
【问题描述】:

我有一个 Document DB(使用 DocumentDB 接口,而不是 MongoDb 接口),所以连接字符串如下所示:

AccountEndpoint=https://SomeDatabase.documents.azure.com:443/;AccountKey=xxxxx;

看起来不是这样的:

mongodb://SomeDatabase:xxxxx==@SomeDatabase.documents.azure.com:10255/?ssl=true&replicaSet=globaldb

问题: 如何使用 RoboMongo 或其他 MongoDb 工具/代码进行连接?

我看到的东西说的是取用户名(它显示在 Cosmos DB 的 MongoDb 版本中)(这无济于事,因为它是一个完全不同的数据库,并且那里的连接字符串不适用于应用程序需要 DocumentDb 接口)

有没有办法做到这一点,或者通过“向 Document DB 添加对 MongoDB 接口的支持”,例如添加使用 MongoDB 与 Ms-SQL Server 对话的能力,因为您始终可以下载 MongoDb 并在同一台机器上安装. (并且无法获取它们之间传递的任何数据)

【问题讨论】:

  • 说明在他们的文档中的这个页面上:docs.microsoft.com/en-us/azure/cosmos-db/…
  • 直接在这里Get CustomConnection。我花了两分钟时间搜索
  • 我访问过这些页面,它们确实存在。连接字符串喜欢来自您的帐户 的详细信息以及每个客户的更改。请表现出一些努力并抑制你的粗鲁。

标签: mongodb azure-cosmosdb robo3t


【解决方案1】:

当您使用 Cosmos DB 时,您必须为已部署的数据库选择与其一起使用的 API(DocumentDB、MongoDB、Tables、Gremlin)。您不能对同一个数据库使用多个 API。

唯一使用 MongoDB 工具和框架的方法是使用 MongoDB API 部署 Cosmos DB 数据库。 MongoDB API 提供了与 MongoDB 的兼容性。 注意:Cosmos MongoDB API 不提供 oplog,因此依赖于读取/跟踪 oplog 的工具将不起作用。

DocumentDB API 不显示任何 MongoDB API,因此在部署 DocumentDB 特定数据库时,您将无法使用 MongoDB 特定工具。

注意:Cosmos 的 MongoDB API 不会显示 oplog,因此任何尝试查询 oplog 的操作都不会成功。

【讨论】:

  • 这是我开始猜测的——因此,我问这个问题的原因——有人对我投了反对票,很可能是出于恶意。因此,我在 DocumentDb 上阅读的文章说它与 MongoDb 兼容的 API 是不正确的。 CosmosDB 是,但前提是您选择了 MongoDb 接口。我希望他们将两个接口放在同一个数据存储上——因为它们都以类似的方式存储 JSON。
  • 请不要在这里侮辱 - 没有必要指责任何人“恶意”。你甚至不需要抱怨你的反对票,尤其是我的回答(这与你的问题投票无关,并准确解释了 CosmosDB 如何与 API 选择一起工作)。并且文件是正确的;它只是无法按照您希望的方式工作(例如,针对同一数据的多个 API)。
【解决方案2】:

您是否看过 Microsoft 提供的此操作指南:Use Robomongo with an Azure Cosmos DB

还有一个相关的:Connecting to Azure Cosmos DB emulator from RoboMongo

【讨论】:

    猜你喜欢
    • 2019-06-20
    • 2019-08-28
    • 2015-04-04
    • 2016-08-09
    • 2014-12-26
    • 2016-04-27
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多