nodejs 异步瀑布在第二个函数中使用 mongoose findOneAndUpdate
nodejs async waterfall use mongoose findOneAndUpdate in the second function
我想使用异步瀑布上传文件,然后 return 远程文件路径并将其传递给第二个函数 mongoose findOneAndUpdate
以保存用户文档的路径。
async.waterfall({
uploadedFile: function (acb) { fileUpload(req, res, acb); },
user: function (acb) {
Users.findOneAndUpdate({ uuid: req.user.uuid },
{ $set: {
file: 'RESULTFROMWATERFALL',
email: req.body.email,
name: req.body.name,
} }).exec(acb); }
}, function (err, data) {
if (err) {
console.log(err);
}
console.log('result: ', data)
});
我受困于此,不知道如何继续从函数一中获取结果并将其传递给 mongoose 查找和更新函数。
上传功能如果单独使用,是这样的:
fileUpload(req, res, function(err, result) {
console.log('i can see result here: ', result) // https//some.remote.path/file.txt
})
有人可以帮我解决这个 async.waterfall
示例吗?
试试这个:-
async.waterfall([
(callback) => {
fileUpload(req, res, (err,data)=>{
callback(err, data);
});
},
(updateURL, callback)=>{
Users.findOneAndUpdate({ uuid: req.user.uuid },
{ $set: {
file: 'RESULTFROMWATERFALL',
email: req.body.email,
name: req.body.name,
} }).exec(callback);
}
}], (err, data) => {
if (err) {
console.log(err);
}
console.log('result: ', data)
});
我想使用异步瀑布上传文件,然后 return 远程文件路径并将其传递给第二个函数 mongoose findOneAndUpdate
以保存用户文档的路径。
async.waterfall({
uploadedFile: function (acb) { fileUpload(req, res, acb); },
user: function (acb) {
Users.findOneAndUpdate({ uuid: req.user.uuid },
{ $set: {
file: 'RESULTFROMWATERFALL',
email: req.body.email,
name: req.body.name,
} }).exec(acb); }
}, function (err, data) {
if (err) {
console.log(err);
}
console.log('result: ', data)
});
我受困于此,不知道如何继续从函数一中获取结果并将其传递给 mongoose 查找和更新函数。
上传功能如果单独使用,是这样的:
fileUpload(req, res, function(err, result) {
console.log('i can see result here: ', result) // https//some.remote.path/file.txt
})
有人可以帮我解决这个 async.waterfall
示例吗?
试试这个:-
async.waterfall([
(callback) => {
fileUpload(req, res, (err,data)=>{
callback(err, data);
});
},
(updateURL, callback)=>{
Users.findOneAndUpdate({ uuid: req.user.uuid },
{ $set: {
file: 'RESULTFROMWATERFALL',
email: req.body.email,
name: req.body.name,
} }).exec(callback);
}
}], (err, data) => {
if (err) {
console.log(err);
}
console.log('result: ', data)
});