制作一步一步的ajax请求

时间:2013-02-19 03:45:13

标签: javascript ajax node.js mongodb jquery

我在考虑如何动态更改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>');
    }
});

所以bassically,这AJAX追加服务器的所有富-VAR div但如果foo_array过长或大非常大的阵中还有一个问题,因为我认为需要更多时间取决于foo_array的长度< / p>

如何逐个追加??,我如何逐个查询并附加到foo-container而不是查询所有foos并进行迭代?

我想做这样的事情

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个文件,所以,ajax可能需要很长时间才能返回所有信息,我需要逐个查询如果在mongodb的光标中有hasNext()

1 个答案:

答案 0 :(得分:0)

您可以使用跳过和限制,并可以发出多个请求。这就像分页。以下语法可以帮助您

db.collection.find()跳过(200).limit(100);