【问题标题】:Bad request error while trying to delete a document from DocumentDb尝试从 DocumentDb 中删除文档时出现错误的请求错误
【发布时间】:2017-08-11 13:46:47
【问题描述】:

当我尝试在 nodejs 应用程序中从 DocumentDb 中删除一个文档时,它会给出以下错误请求错误。

{"code":"BadRequest","message":"Message: {\"Errors\":[\"x-ms-partitionkey 标头中提供的分区键的组件少于集合中定义的组件。 \"]}\r\nActivityId: fe385556-c91b-49a6-88ca-728a807b64ad, 请求 URI: /apps/63e70998-1c00-470e-8093-b4ef0dac16b1/services/2f865af8-4b67-4b6f-9919-9caf5a78d660/708c03/partition -10a3-4ad3-85b7-d22883819270/replicas/131467476052794282p"}

DBHandler.prototype.removeItem = 函数(项目,回调) {

this.client.deleteDocument(item._self, item, function(err, doc){
    if (err)
    {
        LogUtils.error("DBHandler.removeItem "+err.body);
    }
    else
    {
        callback(null, "success remove Item");
    }
});

}

【问题讨论】:

    标签: node.js azure azure-cosmosdb


    【解决方案1】:

    要删除分区集合中的文档,您必须在请求选项中包含该文档的分区键值。

    请将您的代码更改如下:

    DBHandler.prototype.removeItem = function(item, callback) {
      var options = {
        partitionKey: [your document's partition key value]
      };
      this.client.deleteDocument(item._self, options, function(err, doc){
          if (err)
          {
              LogUtils.error("DBHandler.removeItem "+err.body);
          }
          else
          {
              callback(null, "success remove Item");
          }
      });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2015-12-08
      • 1970-01-01
      相关资源
      最近更新 更多