div の内容を動的に変更する方法を考えています。したがって、ここに ajax リクエストがあります。
$.ajax({
url:'/foos',
cache: false,
type: 'get',
}).done( function( foo_array ) {
for( foo in foo_array ) {
$('#foo-container').append('<div class="foo-var">'+foo+'</div>');
}
});
基本的に、この ajax はサーバーからすべての foo-var div を追加しますが、foo_array が長すぎるか、非常に大きな配列である場合、foo_array の長さに応じてますます時間がかかると思われるため、問題があります。
1 つずつ追加するにはどうすればよいですか??、すべての foo をクエリして反復を行う代わりに、1 つずつクエリを実行して foo-container に追加するにはどうすればよいですか??
私はこのようなことをしたい
if(foos.hasNext()){ $.ajax..... append(foo)....}
foos は mongodb データベースからの多くのドキュメントによって作成された配列であるため、クエリの find() 引数に依存するため、配列の長さを取得できません..
ajaxにnodejs、mongodb、expressjs、jqueryを使用しています
下手な英語でごめんなさい、そしてみんなありがとう!
編集2
これはmongodbのデータの例です
{category:1, name:'robert',personal:true,option:'class'}
{category:1, name:'alfredo',personal:false,option:'class'}
{category:4, name:'ricardo',personal:true,option:'class'}
{category:1, name:'genaro',personal:true,option:'class'}
{category:2, name:'andres',personal:false,option:'class'}
{category:1, name:'jose',personal:true,option:'class'}
db.collection.find({personal:true}) // gives me 4 documents
db.collection.find({option:'class'}) // gives me 6 documents
db.collection.find({category:4}) // gives me 1 document
カーソルから取得できるドキュメントの数はわかりません。データベースに 5097841 個のドキュメントがあるため、1 つずつ課金する必要があります。そのため、ajax はすべての情報を返すのに長い時間がかかる可能性があります。 ) mongodb のカーソル内