在使用 CLI 创建的 MongoDB 分片集合中插入文档时出错

2024-02-23

使用最新的 azure cli (2.0.21),我尝试使用以下脚本(来自 powershell)在 CosmosDB 中创建分片 MongoDB 集合:

$resourceGroupName="RG-S01-APP-CASRWA-001"
$name="marcoolandesetest"
$databaseName="marco"
$collectionName="fromcli"
$originalThroughput=100000 
$kind="MongoDB"
$partition="/TaskId"

az login
az cosmosdb create --name $name --kind $kind --resource-group 
$resourceGroupName

az cosmosdb database create --name $name --db-name $databaseName --resource-
group $resourceGroupName 

az cosmosdb collection create --collection-name $collectionName --name $name --db-name $databaseName --resource-group $resourceGroupName --throughput $originalThroughput --partition-key-path $partition --indexing-policy '@index.json'

index.json的内容如下:

{
    "indexingMode": "consistent",
    "automatic": true,
    "includedPaths": [
        {
            "path": "/*",
            "indexes": [
                {
                    "kind": "Range",
                    "dataType": "Number",
                    "precision": -1
                },
                {
                    "kind": "Hash",
                    "dataType": "String",
                    "precision": 3
                }
            ]
        }
    ],
    "excludedPaths": []
}

但是,当我尝试从门户中的 UI 插入文档时,没有任何反应,文档在插入时挂起:

使用 MongoB.Drivers nuget 包从 C# 库插入文档也会失败,并出现错误:

“文档不包含分片键”

显然我的文档包含分片键属性“TaskId”.

如果我从门户中的 UI 创建相同类型的集合,一切都会正常工作,也在 C# 中,使用相同的代码

这是集合设置的两个屏幕截图,您可以看到它们是相同的:

enter image description here Collection "fromui" is created from the portal UI, and with this one everything works fine, inserting a document from the portal, and inserting from C# as well.

集合“fromcli”是使用上面的 CLI 脚本创建的,并插入一个根本不起作用的文档。


微软确认 CLI (2.0.21) 存在错误,他们将很快推出更新。

我创建了一篇博客文章来描述如何解决这个问题,直到发布带有修复程序的新 CLI 版本:

https://blog.olandese.nl/2017/12/13/create-a-sharded-mongodb-in-azure-cosmos-db/ https://blog.olandese.nl/2017/12/13/create-a-sharded-mongodb-in-azure-cosmos-db/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在使用 CLI 创建的 MongoDB 分片集合中插入文档时出错 的相关文章

随机推荐

  • 有没有办法调试 v8 堆之外发生的内存泄漏

    我有一个在 NodeJS 上运行的生产应用程序 它提供了大量的流量 虽然部署后一切顺利 但性能在几个小时后开始下降 我们在 newrelic 上注意到 NodeJS 的非堆内存持续稳定增长 而 V8 堆内存则保持稳定 我们尝试使用 Chro
  • Xampp 上的 Symfony 开发速度非常慢,我该怎么办?

    我已经设置了 Symfony 但每个页面加载需要 40 秒 如果我有一个空控制器 则加载需要 8 秒 如果我开始对数据库进行一些复杂的查询 情况会更糟 我能做些什么 停用分析器 这会改变很多吗 在开发模式下激活 APC 但是这不会成为更改代
  • Rails open-uri 在路径上中断

    我正在尝试使用 open uri 获取 url 我的代码非常简单 url open http localhost 3000 descriptions return render text gt url to json 当我运行此代码时 出现
  • 我可以在 PowerShell 脚本中禁用选择模式吗?

    PowerShell 默认情况下 当您在 PowerShell 控制台内单击时 PowerShell 会进入 选择模式 并暂停脚本 直到您按空格键 输入键或转义键 我有一个无限循环的脚本while true 它应该始终运行 当有人意外单击
  • 使用 WinHttp.WinHttpRequest 查找检索到的二进制数据的大小

    我最近意识到 URLDownloadToFile 使用 IE 代理设置 所以我正在寻找替代方案 发现 WinHttp WinHttpRequest 可能有效 ResponseBody 属性似乎包含获取的数据 我需要将其写入文件 问题是我找不
  • 如何在 dos 批处理文件中设置当前工作目录/驱动器?

    cd d projects不起作用 如何设置当前工作驱动器和目录 以便可以从那里运行 msbuild 脚本 这也很方便 pushd D projects 然后您可以返回到之前所在的目录 popd
  • 从转换器返回动态资源

    我想根据布尔值的状态 在本例中为复选框的状态 更改 WPF 控件的颜色 只要我使用静态资源 这就可以正常工作 我的控制
  • .htaccess 重写正则表达式:匹配除“index”之外的任何内容

    我正在尝试创建一个在 htaccess 文件中使用的规则来匹配除了特定的字符串 在本例中 index 我认为应该可以先匹配这个特殊字符串并使用 L 但这不起作用 并且应该可以使用以下正则表达式 但它会导致 500 错误 我想匹配 页面名称1
  • 有没有一个命令行程序可以查找Scaladoc?

    Ruby 有一个名为 ri 的程序 您可以在其中输入 ri Array 并获取其联机帮助页 scaladoc 有类似的东西吗 现在 Scaladoc Web 应用程序 正在通过浏览器内快速搜索的索引得到增强 这种事情应该变得容易得多 特别是
  • 无法通过 HTTP/REST 访问 FireBase 数据库错误 403 Forbidden

    Swift Vapor 服务器框架 Xcode 8 1 我正在尝试读取 Firebase 实时数据库 向我的数据库发出 HTTP 请求 但权限被拒绝 这些是步骤 1 创建 JWT 使用从 console developers google
  • 在 xsl 中格式化科学数字表示形式

    我的 XML 中有以下值 1 8959581529998104E 4 我想将其格式化为使用 XSL 给我的确切数字 0 000189595815299981 format number 1 8959581529998104E 4 0 000
  • 获取响应流时出错 (ReadDone2):接收失败

    请帮帮我 发送后查询后 我出现网络异常 获取响应流时出错 ReadDone2 接收失败 帮助摆脱这个错误 谢谢 一段代码 try string queryContent string Format login 0 password 1 mo
  • 为什么通过 Expression.Call 编译的 lambda 构建比应该执行相同操作的委托稍慢?

    为什么通过 Expression Call 编译的 lambda 构建比应该执行相同操作的委托稍慢 以及如何避免呢 解释 BenchmarkDotNet 结果 我们正在比较CallBuildedReal vs CallLambda 另外两个
  • strings.xml 中的 Android `templateMergeStrategy`

    什么是templateMergeStrategyAndroid 资源中的属性意味着什么 例如在 Google 地图 API 密钥文件中
  • Heroku 的 SSH 隧道

    我提供了一个在 Heroku 上托管的服务 它允许用户使用他们的数据库报告他们自己的数据 我的客户必须将我的 Heroku 应用程序连接到他们的数据库 他们中的一些人显然害怕让数据在互联网上清晰传输 Heroku 是否可以打开从我的应用程序
  • 如何存储重复日期并记住夏令时

    我将事件存储在我的数据库中 我有 开始 和 结束 日期时间 tickets start 和 tickets end 门票销售实际开始 结束的时间 而不是实际活动的开始 结束的时间 到目前为止 我已经构建了一些方法来完成所有有趣的事情 例如在
  • 在 PHP 中处理 csv 文件时如何指定编码?

    上面来自php手册 但是我没有看到在哪里指定编码 比如utf8左右 尝试更改区域设置 就像下面的例子中所说的那样manual
  • Android 中的 Activity 太多?

    当我开始我的 Android 项目时 我有一个误解 即应用程序中显示的每个屏幕都必须是一个新活动 现在我已经完成了这个项目 我已经在我的模拟器以及几部 Android 手机上检查了它 到目前为止 我还没有看到任何问题 但最近我在某处读到 应
  • MVC4 绑定列表中的下拉列表(错误)

    我在视图中有以下代码 索引 cshtml 绑定问题 第一个下拉列表根据 ChildItem 编辑器模板选择正确的值 使用内联下拉列表的第二个示例不起作用我不想创建一个编辑器模板只是为了显示下拉值 奇怪的是 TextBoxFor 将显示正确的
  • 在使用 CLI 创建的 MongoDB 分片集合中插入文档时出错

    使用最新的 azure cli 2 0 21 我尝试使用以下脚本 来自 powershell 在 CosmosDB 中创建分片 MongoDB 集合 resourceGroupName RG S01 APP CASRWA 001 name