我想知道嵌套MongoDB查询中的error
和result
参数是否需要与其父代使用的名称不同的名称。
以下仅是嵌套方案结构的示例,而不是实际的更新集。
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 {...
我假设它是前者,并且error
和result
可以在两个更新中使用,因为参数将被限制在它们自己的函数范围内,但我认为我会进行检查。 / p>