草庐IT

node-keyboard

全部标签

node.js - 如果缺少非必填字段,Mongoose 自定义验证器将失败

我正在使用mongoose模式,并为一些非必填字段编写了一个自定义验证器。当该字段存在时验证器工作完美,但如果该字段丢失(这没关系,因为该字段未标记为“必填”)则失败。我的问题是:这是正确的行为吗?如果缺少该字段,如何让它跳过验证? 最佳答案 您可以使用自定义验证器,因为它仅在值存在时被调用。另见:Mongoosevalidation:required:false,validate:regex,issueswithemptyvalues 关于node.js-如果缺少非必填字段,Mongo

node.js - 如何根据 JSON 数据渲染多个部分?

我有一个包含用户数据的数据库,如果我想为我的MongoDB集合中的每个文档呈现部分数据,我该怎么做?我可以通过将一个部分添加到我的View来渲染一个部分,但是我如何让它自动渲染多个部分而无需我为每个添加的新文档重新键入{{>somePartial}}?我环顾四周,发现一些暗示AJAX的东西与我的问题并不完全相似。如果这是解决方案,除了AJAX之外还有其他方法吗?每次将新文档添加到MongoDB时,我都希望将一个新的部分添加到我的View中(我不介意它是否只在页面刷新时显示){{>somePartial}}//Differentdata{{>somePartial}}//Differen

node.js - 带有javascript的MongoDB动态查询,静态工作,不带变量

我一直在用express编写一个应用程序,使用标准的mongodb驱动程序,版本3.2.6。我需要查询我的数据库,我想查询5年并计算每年的条目数。当我静态编写代码时,它可以毫无问题地工作,如果我将完全相同的值放入变量并将其插入查询中,它会拒绝工作。如果这是我遗漏的明显问题,我深表歉意,但我找不到解决方案。感谢所有试图提供帮助的人:)此代码有效。输出如下router.get("/test",(req,res)=>{result={title:"Somethingsthroughtime",data:[]}for(leti=4;i{console.log(query+"\n"+numOf)

node.js - 如何在嵌套对象的嵌套数组中设置属性未定义

{_id:"xPBc4By8FemDwTPqH",friends:[{username:"michael",friendid:"154879",friendlist:[{randid:54685,friendname:"john",illustrations:[{randid:178432,image:"friend1.jpg"},{randid:545457,image:"friend2.jpg"}]}]}]}我的数据库结构如下所示。我想在插图数组中提取特定图像。我试过这段代码:Collections.user.update({"friends.friendid":154879},{

node.js - EJS 在某些情况下只输出第一个找到的用户

我正在使用mongoDB和ejs在一个表中显示我的所有用户。该表还有一些用于删除用户和更改用户角色的操作按钮。这些按钮会打开一个弹出窗口以更改角色或确认删除。但是EJS不会将用户信息传递到弹出窗口中。它在表格中工作得很好,但在弹出窗口中却不行。带有角色更改弹出窗口的我的EJS用户表:">">ChangeRole×UserRolePartnerAdminUser"name="userroleid"class="btnbtn-primary">Submit这是我的app.js,我在其中搜索用户并将它们传递给EJS:app.get("/users",function(req,res){if(

node.js - 如何在 expressjs REST API 中修复 "TypeError: Cannot read property ' 正文“未定义””

我正在使用Express设置RESTAPI,我最终定义了一些有效的端点和方法,突然出现错误:“TypeError:无法读取未定义的属性‘body’”我是JS的新手,我正在尝试使用mongodb、express和react构建一个webapp。我一直在遵循一些指南(特别是这个指南,因为它也实现了JWT:https://www.toptal.com/nodejs/secure-rest-api-in-nodejs)我已经成功地为基本的CRUD操作构建了所有用户方法并公开了它们。一切正常,然后我尝试用中间件添加Auth进程,但出现了错误。我寻找答案,最常见的错误是由于在路由之后调用了body

node.js - 通过 nodejs 查询 mongodb 显示空结果?

1.我正在尝试通过Nodebelow.js查询数据库“teamautomation”中的集合“radar_life_cycle”,如下所示2.我创建了相应的模型,通过mongoose连接到mongodb成功,没有错误,但我得到一个空列表。正如您从帖子下方的输出中看到的那样,[]是一个空列表,但我可以看到数据库中有记录,任何人都可以提供有关这里可能出错的指导吗?app.jsconstexpress=require("express");constmongoose=require("mongoose");constRadar_life_cycle=require("./models/rad

node.js - 为两个集合设置护照 jwt 策略

我的API有2个集合——管理员和用户。目前我的护照jwtStrategy是:constjwtStrategy=newJwtStrategy(jwtOptions,(jwtPayload,done)=>{console.log(jwtPayload)User.findById(jwtPayload.sub,(err,user)=>{if(err){returndone(err,null)}if(user){returndone(null,user)}else{returndone(null,false)}})})然而,这仅对用户有效,因为findById是在用户身上完成的。我需要类似fi

node.js - 如何创建带有字典列表的 Mongoose 模型?

我正在尝试为对象如下所示的集合创建模型,如何在mongoose中声明clonedChangesdetailslist,这是一个字典列表?[String]没有似乎是对的?{"_id":ObjectId("6d17d2dd84d4734eea82989f"),"orgChange":"62369696","created_on":ISODate("2019-06-29T14:06:20.686Z"),"clonedChangesdetailslist":[{"clonedChange":"62392779","clonedStatus":"PASS","clonedChangeFinalS

node.js - 如何在服务 nestjs 中模拟 getMongoRepository

我在nestjs中为我的服务编写单元测试。在我的删除函数中,我使用getMongoRepository来删除。但是我坚持编写单元测试我试过写模拟,但没用我的服务asyncdelete(systemId:string):Promise{constsystemRepository=getMongoRepository(Systems);returnawaitsystemRepository.deleteOne({systemId});}我的模拟import{Mock}from'./mock.type';import{Repository,getMongoRepository}from'ty