代码之家  ›  专栏  ›  技术社区  ›  user1063287

MongoDB集合方法回调参数的作用域是什么?

  •  0
  • user1063287  · 技术社区  · 6 年前

    我想知道 error result 嵌套MongoDB查询中的参数需要不同于其父/秒使用的名称。

    下面只是一个嵌套场景结构的示例,而不是一组实际的更新。

    var filter_1 = { _id: o_id };
    var update_1 = { $set: { title: title } };
    var options_1 = {};
    
    collection.findOneAndUpdate(filter_1, update_1, options_1, function(error, result) {
        if (error) {
            res.send(error);
        } else {
    
            console.log(result);
    
            // BEGIN perform a subsequent update
    
            var filter_2 = { _id: o_id };
            var update_2 = { $set: { genre: genre } };
            var options_2 = {};
    
            collection.findOneAndUpdate(filter_2, update_2, options_2, function(error, result) {
                if (error) {
                    res.send(error);
                } else {
    
                    console.log(result);
                    res.json( { result: result } ); 
    
                }
            });
    
            // END perform a subsequent update
    
        }
    });
    

    第一次和第二次更新都可以使用:

    function(error, result) {
        if (error) {
            res.send(error);
        } else {...
    

    或者嵌套更新是否需要类似于:

    function(error_2, result_2) {
        if (error_2) {
            res.send(error_2);
        } else {...
    

    我想是前者,而且 错误 结果 可以在两次更新中使用,因为参数将被限制在自己函数的作用域内,但我只是想检查一下。

    0 回复  |  直到 6 年前