1

我正在考虑如何动态更改 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 的长度

如何一一追加??,如何一一查询并追加到 foo-container 中,而不是查询所有 foo 并进行迭代?

我想做这样的事情

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

不知道游标能得到多少个文档,需要一一收费,因为databse中有5097841个文档,所以ajax返回所有信息需要很长时间,如果hasNext( ) 在 mongodb 的游标中

4

1 回答 1

0

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

db.collection.find().skip(200).limit(100);

于 2013-03-06T17:34:46.593 回答