0

如何为查询设置变量?我正在尝试使用 node.js 中的函数和回调来通过异步工作,但我不确定如何让查询等于变量。我在这段代码中试图做的是获取一个属于用户的朋友集合并返回朋友结果(我认为我在查询 insertAll 中做得不正确),然后找到每个用户的信息询问。然后将结果作为渲染返回。我不知道如何用这个来调用渲染......

这是我的代码:

exports.contactList = function(req, res) {

    var insertFriend = function(data, callback) {
        var friend = User.findById({_id: user.friendStatus.fuId}, function() {
            callback(null, data);
        }, friend);
    };;

    var insertAll = function(coll, callback) {
        var queue = coll.slice(0),
        friendX;

        (function iterate(){
            if(queue.length === 0) {
                callback();
                return;
            }
            friendX = queue.splice(0,1)[0];
            insertFriend(friendX, function(err, friendX) {
                if(err) {throw err;}
                console.log(friendX + ' inserted');
                process.nextTick(iterate);

            });
        })();
    };



    insertAll([Friend.findOne({userId: req.signedCookies.userid})], function(){

    });

};
4

1 回答 1

2

Query如果您不传递回调,则返回一个对象。

来自http://mongoosejs.com/docs/queries.html

回调函数时:

传递,操作将立即执行,并将结果传递给回调。

不通过,则返回一个 Query 的实例,它为您提供了一个特殊的 QueryBuilder 接口。

于 2013-08-12T06:11:07.183 回答