将数组元素添加到集合中的所有文档

时间:2014-07-11 14:13:56

标签: ravendb set-based http-patch

我的Foo个文档有CustomData个集合,用于添加用户可配置的属性。

有时,当我创建这些属性时,我需要使用默认值添加它们以进行索引。

这就是我尝试用于此目的:

DatabaseCommands.UpdateByIndex(
    "dynamic/Foos",
    new IndexQuery(),
    new[]
    {
        new PatchRequest
        {
            Name = "CustomData",
            Type = PatchCommandType.Add,
            Value = RavenJObject.FromObject(new
                                            {
                                                Value = false,
                                                Bar = new { Baz = "Qux"}
                                            })
        }
    });

这将生成以下HTTP请求:

PATCH /databases/MyDb/bulk_docs/dynamic/Foos?&pageSize=128&allowStale=False
[
  {
    "Type": "Add",
    "Value": {
      "Value": false,
      "Bar": {
        "Baz": "Qux"
      }
    },
    "Name": "CustomData"
  }
]

这会返回200 OK,但不会修改任何文档。

1 个答案:

答案 0 :(得分:0)

看起来问题是动态索引的使用。

切换到持久性索引解决了这个问题。