0

我的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,但不会修改任何文件。

4

1 回答 1

0

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

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

于 2014-07-11T15:20:04.703 回答