草庐IT

javascript - MongoDB 在 promise 中包装 mongo 实例

在Web应用程序上工作时,我想要一个可以在不同模块中重用的MongoDB单例连接。我使用promise来做到这一点。到目前为止,我尝试了以下方法:Server.jsmodule.exports=newPromise((res,rej)=>{letMongoDB;MongoClient.connect('mongodb://localhost:27017/WIGAMEX',{poolSize:30},function(err,db){//console.log(db);MongoDB=db;});if(MongoDB){res(db);}rej('noDB');});模块1constse

javascript - 为什么我一直面对 Mocha "timeout error"; Node 也一直告诉我要解决我的 promise ?

我一直收到超时错误,它一直告诉我确认我已经调用了done(),即使我已经调用了。constmocha=require('mocha');constassert=require('assert');constStudent=require('../models/student.js');describe('CRUDTests',function(){it('CreateRecord',function(done){vars=newStudent({name:"Yash"});s.save().then(function(){assert(s.isNew===false);done();}

node.js - Mongoose promise 和 sonarqube

我喜欢asyncawait语法,我在mongoose中经常使用它。所以在我的项目中有很多:constuser=awaitUser.findOne({_id:req.params.id})正如预期的那样工作。但是,在sonarqube中,我有这些错误:在非promise上重构这个冗余的“等待”。Sonar规则i:ItispossibletouseawaitonvalueswhicharenotPromises,butit'suselessandmisleading.ThepointofawaitistopauseexecutionuntilthePromise'sasynchronous

javascript - Promise.all() 返回未定义的 Promise <Pending> 数组,尽管类似的解决方案返回成功的替代方案

我正在构建一个网络应用程序,允许用户查看项目的仪表板,这些仪表板又具有单独的部分(a、b和c),仪表板将显示为完整(o)或不完整(x)如下图所示。这允许用户直接导航到缺少信息的页面,因为需要项目的所有信息才能进入下一阶段。Item|a|b|c|NextStage?------------------------------abc|x|o|x|Nodef|x|x|x|Noghi|o|o|o|Yes在每个项目(例如abc)中,它可以有许多子项目,这些子项目必须全部完成,该项目的a、b或c部分才能标记为完成。这是通过一系列嵌套的promise实现的,这些promise会在更新子项时更新“完整

javascript - 如何在 Model.find( obj , callback) 上传播回调 promise 值?

好的,我正在努力解决这个问题。在过去的一周里,我花了很多时间试图弄清楚如何使这项工作发挥作用。我学习了promises并制作了一些很酷的东西-我很喜欢它。但是,我做不到。我正在使用MongooseModel.find()方法。此方法接收两个参数:将用于查询的对象和将接收(error,data)对象的callback函数。我正在调用.find并传递findUser函数。UserModel.find(userObj,findUser).then(userFound,createUser);在findUser中,我正在创建一个Promise并解析或拒绝它。varfindUser=functi

javascript - 如何从外部范围将变量传递给 .then() 回调函数?

我有一个API接收请求并进行一些查询和验证。我想在findUserPlayer函数中使用路由中的response引用,这样我就可以向客户端发送一些内容。findUser函数将返回一个data对象,该对象将在findUserPlayer上使用。varapi=express.Router();api.post('/signup',function(request,response){UserModel.find(req.body).then(findUser,createUser).then(findUserPlayer,createUserPlayer);});varfindUserPl

javascript - 与 Mongoose 一起使用 promise 时遇到麻烦

谁能告诉我为什么这个promise设置不起作用。它应该删除文档然后添加它然后找到它然后控制它。它不是在安慰数据。varComp=require("./models/company.js");vararr=[{name:"comp1",industry:"industry1",ranking:20},{name:"comp2",industry:"industry2",ranking:5},{name:"comp3",industry:"industry3",ranking:10}]varoutput={};varpromise=Comp.find({}).exec()promise.t

javascript - "Cannot find global value ' Promise '"摩卡测试出错

以下内容与完整堆栈Node.js问题有关。它涉及Express、Mongoose和Mocha。我有一个Controller模块,它具有处理HTTP调用的功能。它基本上将Request和Response对象作为其参数。在其中,它将Form数据从Request对象中提取出来,并将数据存储在多个MongoDB实例中。为了完成多个数据存储,我们使用对Promise.all的调用。这是在异步函数中完成的。类似下面的内容asyncfunctionsaveData(data1:Data1Interface,data2:Data2Interface,res:Response){try{//Call3s

node.js - 如何中止公牛队列中的特定任务?

根据这个包https://github.com/OptimalBits/bull是否有可能中止“等待队列”中的某个任务?我的用例如下:我有一个mongodb集合“users”和一个集合“friendship”,我在其中存储两个用户的姓名和头像。所以我只需要一个查询就可以获取某个用户的好友列表。当用户更改他的头像时,我必须更新“友谊”集合中该用户的所有文档。这是一个性能无关紧要的操作,因为我希望它在后台执行并且一致性对于这个用例并不重要。但是当用户在短时间内多次更新他的头像时,我想取消所有引用旧任务(用于更新友谊集合)除了最新的。这与公牛有可能吗?提前致谢,如果能提供相关信息,我将不胜感

javascript - Mongoose find().exec() promise 问题

这个问题在这里已经有了答案:HowdoIreturntheresponsefromanasynchronouscall?(44个答案)Mongoose-Whatdoestheexecfunctiondo?(7个答案)关闭4年前。有人可以向我解释为什么以下代码返回audiences而不是返回空数组吗?returnAudience.find().exec((err,audiences)=>{if(err)returnerrorHandler.handle('audienceService',err);returnPromise.resolve([]);});