2

私のシナリオ: 変更 (名前の変更とプロパティの追加) が必要なドキュメントが数千あります。ドキュメントを変更するために PatchRequest を作成しましたが、これにはドキュメント ID が必要です。

特定のタイプのすべてのドキュメントのドキュメント ID のリストを取得する方法を探しています。アイデアはありますか?

可能であれば、サーバーからドキュメントを取得することは避けたいと思います。

4

1 に答える 1

2

ドキュメントを変更するために PatchRequest を作成しましたが、これにはドキュメント ID が必要です。

いいえ、.Patch は、PatchRequest ではなくドキュメント ID を取ります。

ドキュメント全体を更新したいので、.UpdateByIndex メソッドを使用する必要があります。

documentStore.DatabaseCommands.UpdateByIndex("IndexName",
      new IndexQuery {Query = "Title:RavenDB"},
      new []
      {
         new PatchRequest
         {
            Type = PatchCommandType.Add,
            Name = "Comments",
            Value = "New automatic comment we added programmatically"
         }
      }, allowStale: false);

これにより、インデックスに一致するすべてのドキュメントにパッチを適用できます。そのインデックスは、好きなものにすることができます。

詳細については、Raven ドキュメントのセットベースの操作を参照してください。

于 2013-05-09T18:22:50.960 に答える