大規模なドキュメント ライブラリ (現時点では最大 6000 ドキュメント) があり、カスタム フィールド値 (ライブラリのカスタム列) に基づいてドキュメントを検索する必要があります。
6000 個のドキュメントすべてを繰り返し処理せずに、このドキュメントを取得する方法はありますか?
ある時点で繰り返しが発生する必要があることは理解していますが、すべてをクライアント側に転送してからドキュメントをチェリーピックするよりも、SharePoint サーバー側で行うことをお勧めします。
ありがとう
大規模なドキュメント ライブラリ (現時点では最大 6000 ドキュメント) があり、カスタム フィールド値 (ライブラリのカスタム列) に基づいてドキュメントを検索する必要があります。
6000 個のドキュメントすべてを繰り返し処理せずに、このドキュメントを取得する方法はありますか?
ある時点で繰り返しが発生する必要があることは理解していますが、すべてをクライアント側に転送してからドキュメントをチェリーピックするよりも、SharePoint サーバー側で行うことをお勧めします。
ありがとう
SharePoint にクエリを実行できます。サーバー上で実行される CAML クエリを発行し、指定した条件に一致するアイテムのみを返します。検索するカスタム列の名前を指定し、検索する値を指定します。効率性のために、いくつかのフィールドのみを要求できます (ドキュメントの URL など)。そのため、アイテムを見つけるためにリスト内のドキュメントを反復処理する必要はありません。
ここでいくつかの議論を見つけることができます: http://msdn.microsoft.com/en-us/library/ee956524.aspxまた、javascript または silvelight からそれを行う方法の例も見つけることができます。
CAML の例:
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
@"<View>
<Query>
<Where>
<Eq>
<FieldRef Name='FileLeafRef'/>
<Value Type='Text'>Test.docx</Value>
</Eq>
</Where>
<RowLimit>1</RowLimit>
</Query>
</View>";