草庐IT

javascript - 批量发送电子邮件并捕获不成功的尝试

前端代码包含一个名称列表,每个名称旁边都有复选框。目标是向所有选中的名称发送一封电子邮件。单击提交按钮后,一组ID(针对每个用户)将发送到我的后端。后端代码查询数据库(使用mongooseodm的mongo)并找到用户。我有一些任务需要在后端完成:找到具有提供的ID数组的用户创建并向每个用户发送电子邮件如果电子邮件发送成功,则更新发送电子邮件的数据库中的文档字段如果电子邮件失败,将用户名发送回前端以通知“发件人”电子邮件尝试失败。我编写这段代码的时间比我愿意承认的要长......这是我目前所拥有的(我关心的是后端代码):exports.sendEmailToUsers=function

javascript - 在 promise 中定义异步函数

我正在使用.then为promise编写代码。现在,我决定使用await/async来编写它。我在promise中调用了一个函数add_Lessons,然后在该函数的.then中调用了另一个函数。这是我使用.then的代码。functioncreate_section(sections,course_ID,i){returnnewPromise((resolve)=>{vars_duration=0;varsname=sections[i].name;vars_obj={//someobject;}varsection_id;DB.section.create(s_obj,functi

node.js - mongoDB promise 过早返回

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭6年前。Improvethisquestion我刚开始尝试在我的Node.js应用程序上实现Promises。现在我正在检查用户和密码是否存在然后使用mongodb查找它们如果未找到用户它设置promise.reject()但它过早返回promise并且它仍处于待处理状态。如果有人可以帮助我或给我关

javascript - Mongoose/MongoDB - 如何在聚合查询中使用 promise

我正在尝试通过mongoose对MongoDB中的2个不同集合执行2个查询,然后将它们的结果合并为RESTAPI响应。例子:varresult1=Model1.aggregate([]).exec()varresult2=Model2.aggregate([]).exec()varallDone=Promise.all(result1,result2)allDone.then(function(data1,data2){//Dosomethingwithbothdata})我收到这个错误类型错误:无法读取未定义的属性“readPreference”当回调的函数签名不是function(

javascript - 如何在 promise 中正确实现 mongodb async/await?

我读到在Promise中使用异步是异步/等待的反模式。下面的代码有效,但我很好奇如何在Promise中没有async的情况下实现相同的结果。如果我删除它,linter会告诉我如何不能在我的mongodb查询中使用await。如果我在mongodb查询中删除await,那么它就不会等待结果。exportconstgetEmployees=(companyId)=>{returnnewPromise(async(resolve,reject)=>{constemployees=awaitEmployees.find({companyId},);//otherlogichere...reso

javascript - 如何通过 Promise 重用 mongodb 连接

我想重用MongoDB连接。我知道Howtoreusemongodbconnectioninnode.js我想使用Promises和Mongo驱动程序v2实现相同的目标目前我必须为每个请求连接到数据库,这使得它变慢了。这是我的代码"usestrict"varapp=require('./utils/express')();varmongodb=require('mongodb');varMongoClient=mongodb.MongoClient;//ActuallyI'amconnectingtoMongoLabvarurl='mongodb://localhost/my-mong

javascript - 来自 aggregate() 和 find() 的 promise 以及用于 NodeJS 的 MongoDB 驱动程序

我经常读到NodeJS的MongoDB驱动程序(>2.0)支持promises。但我找到的唯一示例是connect()和findOne()函数。虽然它适用于那些并且我可以得到promise,但它不适用于aggregate()或find()。我知道那是因为他们可能会返回游标,但由于有promise支持,这些promise在哪里?必须有办法与他们合作。非常欢迎链接、示例或简单的解释:)谢谢,乔迪。 最佳答案 将find()或aggregate()的结果链接到.toArray()。当前mongodbnodejs驱动程序的toArray文档

javascript - 以最有效的方式更新许多(100k+)文档 MongoDB

我有一个定期运行的函数,它更新我的Prices集合中一些Documents的item.price。PriceCollection包含100k多个项目。该函数如下所示://JustahelperfunctionformultipleGETrequestswithrequest.let_request=(urls,cb)=>{letresults={},i=urls.length,c=0;handler=(err,response,body)=>{leturl=response.request.uri.href;results[url]={err,response,body};if(++c

javascript - 如何使用 Bluebird promise ( Mongoose )进行 findOneAndUpdate

在使用mongoose的findOneAndUpdate时,我找不到任何关于如何使用bluebird解决promise的例子。varPromise=require("bluebird");varmongoose=Promise.promisifyAll(require('mongoose'));//actionsisanarrayofobjectswithqueriesandupsertdatavarpromises=actions.map(function(arr){returnMyModel.findOneAndUpdate(arr.query,arr.upsertData,{'u

javascript - 未处理的 promise 拒绝警告 : MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError

我尝试运行以下命令:nodeindex.js但是,我从我的终端得到以下信息:successconnectiontoport3000(node:16767)UnhandledPromiseRejectionWarning:MongoNetworkError:failedtoconnecttoserver[localhost:27017]onfirstconnect[MongoNetworkError:connectECONNREFUSED127.0.0.1:27017]atPool.(/Users/hatchery/Documents/nodejs/fxexpress/node_modu