MongoDB收集方法回调参数的范围是什么?

时间:2018-11-07 14:23:01

标签: node.js mongodb

我想知道嵌套MongoDB查询中的errorresult参数是否需要与其父代使用的名称不同的名称。

以下仅是嵌套方案结构的示例,而不是实际的更新集。

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 {...

我假设它是前者,并且errorresult可以在两个更新中使用,因为参数将被限制在它们自己的函数范围内,但我认为我会进行检查。 / p>

0 个答案:

没有答案