MongoDb C#驱动程序解决命令插入失败:文档不包含分片键

时间:2019-03-11 10:31:37

标签: c# .net mongodb azure-cosmosdb

我正在尝试将MongoDB Api用于CosmosDB,并且在数据库中插入值时遇到以下错误:

  

命令插入失败:文档不包含分片键。

我正在使用cosmosdb模拟器,我的分区键是“ Id”,这是我尝试过的简单插入方法:

        mongoCollection.InsertOne(new { Name = "John", Id = 007 });

要解决此问题,我搜索并看到了这个问题:

Similar to mine,

我尝试运行问题答案中指定的命令,如下所示:

        var command = new BsonDocument("{ shardCollection: \"Mydb.collection1\", key: { Id: \"hashed\" } }", 1);
        database.RunCommand<BsonDocument>(command);

但是它不起作用,并引发了另一个异常,请有人可以告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:0)

我试图通过天蓝色的门户,shell以编程方式以不同的方式创建集合来解决问题。没有任何帮助。最终,我修改了此示例https://github.com/Azure-Samples/azure-cosmos-db-mongodb-dotnet-getting-started,该示例在插入时自动创建了collecton。