2017-04-19 11 views
3

私は郵送用ラベルを書いており、各ドキュメントのラベルを印刷する必要があります。C#MongoDBドライバのみが100個の結果を返す

私はコレクションに829個のドキュメントを持っていますが、それらを取得すると100個のドキュメントしか得られません。

私はこのLINQコードを持っている:

IMongoCollection Pessoa; 
Pessoa = database.GetCollection<Pessoa>(collectionName); 

return Pessoa.AsQueryable().ToList(); 

すべての文書を取得するために、どのように?

+0

return Pessoa.AsQueryable()。OrderBy(d => d.Nome).ToList();スティルは100個のドキュメントしか検索しません。 – Tony

+1

どこにでも「制限」が設定されていますか? – Pikoh

+1

すべてのオブジェクトにNome属性の値がありますか? –

答えて

1

私はコレクション上に829のドキュメントを持っていますが、それらを取得すると100個のドキュメントしか得られません。

私はいつも、私はAzureのポータル上で無制限に設定ページあたりアイテムを変更していても100件の文書を返した、コレクション内のドキュメントを検索するIMongoCollection collection.AsQueryable()にAsQueryable拡張メソッドを使用して、私の側の問題を再現することができます。

設定:

enter image description here

テストコード:クエリエクスプローラで

enter image description here

カウントドキュメント:クエリに

enter image description here

コレクション内のすべてのドキュメントは、コメントに記載されているとおり、Find methodに空のフィルタを使用して呼び出すことができます。

+0

私は、Mongo AtlasのようにMicrosoft以外のサーバーでも100のドキュメントを返すこのデフォルトの動作が行われることをテストして確認しました。 – Tony

1

あなたはおそらくデフォルトのcursor BatchSizeによって制限されています。 AggregateOptionsオブジェクトをAsQueryable拡張子に渡し、BatchSizeプロパティを十分大きな値に設定してこの動作を変更できます。

public static IMongoQueryable<TDocument> AsQueryable<TDocument>(this IMongoCollection<TDocument> collection, AggregateOptions aggregateOptions = null) 
関連する問題