草庐IT

findByID

全部标签

java - 模拟我正在测试的同一个类中的方法调用,它真的是代码味道吗?

我正在尝试测试一个服务类(负责调用存储库层并在需要时进行一些操作),基本上,这就是我要测试的类classCarServiceImpl{publicCarfindById(Stringid){//callrepositorylayertofindacar}publicvoiddeleteById(Stringid){Carcar=this.findById(id);if(car!=null){//Callrepositorylayertoupdatethecar}else{ThrowNotFOundException();}}}如您所见,我在deleteById方法上调用了findByI

node.js - mongoose findById 不能使用正确的 ID

我正在创建一个存储用户信息的数据库。之前系统运行良好,我对mongoose进行npmupdate后,系统就失效了,不知道什么原因。以下是我遇到的错误信息。CastError:CasttoObjectIdfailedforvalue"xxxxxxxxxxxxxxx"atpath"_id"formodel"User"然后,我写了一些简单的测试代码来测试数据库是否连接成功。例如:User.findOne({firstName:"David"},function(err,user){console.log(user.lastName)});上面的方法非常有效。然后我直接从数据库中找到对应的Id

node.js - findById 返回文档列表而不是单个结果

我正在尝试通过mongodb的对象ID获取项目对象,但是当我尝试在postman中调用该路由时,它会为我提供数据库中每个对象的列表(总共4个对象),而不是预期一个对象。这是我为从数据库中获取一个对象而创建的函数getEvent:function(id,callback){EventModel.findById(id,callback);},下面是我的路线router.get('/events/:id',function(req,res){varid=req.params.id;db.getEvent(id,function(err,event){if(err){console.log(

mongodb - findById 和 load 之间的区别?

FindById(id,callBack)和Load(id,callback)之间的主要区别是什么?更多详情:我是MEAN堆栈web开发的新手,所以我只是在玩Mean.io:此代码由Mean.io(controllers/article.js)生成:Article.load(id,function(err,article){if(err)returnnext(err);if(!article)returnnext(newError('Failedtoloadarticle'+id));req.article=article;next();});只是我想使用findById得到相同的结果

node.js - mongoose findById 在我使用字符串文字时有效,但在我引用对象的属性时无效

我在Mongoose中遇到了一个非常奇怪的问题。这一行正确地找到了Round:models.Round.findById("555ec731385b4d604356d8e5",function(err,roundref){console.log(roundref);....这条线没有models.Round.findById(result.round,function(err,roundref){console.log(roundref);我已经在控制台记录了result,它显然是一个包含属性round的对象:{round:"555ec731385b4d604356d8e5",sele

Mongodb:findById() 不返回任何值

即使数据库中存在id,以下findById()也会返回null:router.get('/product/:id',function(req,res){console.log("productid="+req.params.id);//producesproductid=596161e1734d1d25634366cevarid=req.params.id;Product.findById({_id:req.params.id}).exec(function(err,product){if(err){console.error('Errorretrievingallproductbyi

mongodb - 使用 findById 返回指定字段 | Mongoose MongoDB

当使用Model.findOne()方法时,我可以选择包含一个字符串,将我的返回值限制为仅那些字段,但是当我尝试使用findById方法这样做时,它似乎不起作用。下面的例子是一个人为的例子。我使用的是真实的_id,它在使用第一个示例时有效,但我只想使用findById方法,因为我脑海中有个微小的声音告诉我这样更快(也许)。示例:letJoe=newPersonModel({_id:ObjectId("12345")name:'Joe',age:30,password:'GreatPW'}).save();现在找到乔,只返回他的名字和年龄。这行得通!PersonModel.findOne

node.js - 如何在 node.js 中设计持久化服务

我正在用express和mongo制作一个休息api。我没有为每个模型写出crud操作,而是考虑编写一个通用的数据库服务,这样(在db.coffee中):exports.findById=(model,req,res)->model.findByIdreq.params.id,(err,document)->iferrthrowerrreturndocument因此,如果我想从用户标识中获取用户,我将调用(在user.coffee中):exports.findById=res.senddb.findById(model,req,res)从app.coffee调用:app.get'/us

node.js - 为什么不能修改 Mongoose 查询返回的数据(例如 : findById)

当我尝试更改Mongoose查询返回的数据的任何部分时,它没有任何效果。我昨天花了大约2个小时试图解决这个问题,使用各种_.clone(),使用临时存储变量等。最后,就在我想我要去的时候疯了,我找到了解决办法。所以我想将来有人(fyuuuuture!)可能会遇到保存问题。Survey.findById(req.params.id,function(err,data){varlen=data.survey_questions.length;varcounter=0;_.each(data.survey_questions,function(sq){Question.findById(sq

mongodb - TypeORM FindById 不适用于 MongoDB

我正在尝试将TypeORM与MongoDB和express结合使用,但我在基本方面遇到了问题。我刚刚为实体创建了一个具有基本CRUD操作的Controller。方法save、findAll和findbyFilter工作正常,但我无法使需要mongoid的方法工作。router.get("/",async(req:Request,res:Response)=>{constinvestmentRepository=getMongoRepository(Investment);constinvestments=awaitinvestmentRepository.find();res.send