jjzjj

findByIdAndUpdate

全部标签

为什么MongoDB FindbyidAndupdate给我一个错误?

我正在尝试使用以下代码更新MongoDB文档。当我运行它时,我会收到以下错误:错误=mongoError:将更新应用于文档{_id:objectId('596684d72084af52d51b4574'),...},(不可分解的)字段'_id'已被发现已更改为_id:_id:objectID:objectID('59673434CD9AA4CD9AA40F6565656565656565650C'')我看不到我在改变_id领域的一生。谁能看到我做错了什么?谢谢。exports.updateSubmission_post=function(req,res){varsubmission=newSu

javascript - 为什么 .findByIdAndUpdate 会绕过 mongoose 中间件?

我在这里搜索过这个问题,但作为初学者,答案有点复杂,让我有点难以理解。我正在使用bcrypt来散列密码,并设置了我的架构以允许我使用中间件来查看用户是否在散列密码之前修改了密码(无论是在初始创建还是更新密码时)。在发布路由上没有问题,但如果我使用补丁路由,我的中间件就不会运行。有人可以帮助我以更简单的方式(即简单的英语)理解为什么这会绕过mongoose吗?:constuser=awaitUser.findByIdAndUpdate(req.params.id,req.body,{new:true,runValidators:true})不过,这是可行的:constuser=await

node.js - mongoose findByIdAndUpdate 仅更新文档中的一个字段

我试图在用户点击某个按钮时增加赞成票,并将他的stormpath用户ID(req.user.href)存储在一个数组中。尝试1:if(newUpvoters=found_post[0].upvoters.indexOf(req.user.href)==-1){Problem.findByIdAndUpdate(found_post[0].id,{$push:{upvoters:req.user.href}},{$inc:{upvotes:1}},function(err,post){if(err)returnnext(err);res.json(post);})}结果:只有upvote

node.js - mongoosejs findByIdAndUpdate 一个最好的方法

我想知道是否有最好的方法来做到这一点:/***ArticleSchema*/varPostSchema=newSchema({title:{type:String,required:true,trim:true},author:{type:String,required:true,default:'whisher'},slug:{type:String,index:{unique:true}},body:{type:String,required:true,trim:true},avatar:{type:String,required:true},status:{type:String

mongodb - 如何在mongodb2.4上使用findByIdAndUpdate?

主干客户端更新模型属性:ocase.save({currentStep:theStep},callback);服务器端Mongoose代码:OCase.findByIdAndUpdate(req.params.id,req.body,callback);在mongodb2.6上运行正常,在mongodb2.4上运行不正常,报错:updateerr:MongoError:exception:Modon_idnotallowed所以我尝试删除“_id”,只保存其他属性:OCase.findByIdAndUpdate(req.params.id,{subject:req.body.subje

arrays - Mongoose 从 findByIdAndUpdate 中移除数组(继承模式)

我正在尝试使用findByIdAndUpdate更新Mongoose模型为了问题的缘故,该模型称为ItemVariant,它继承自Item。有效载荷数据的一个例子是:vardata={arrayField:[1,3],description:'Thisisadescription'}}如果我打电话ItemVariant.findByIdAndUpdate(objectId,data);我可以看到描述已更新,但arrayField根本没有传递给mongo-事实上所有数组都被删除了数据对象。我一直在努力弄清楚如何做到这一点,查看了为数组设置$pushAll但似乎没有任何效果。我在这里遗漏了

mongodb - 通过将列表 objectids 传递给 findByIdAndUpdate 来更新多个文档

这个问题在这里已经有了答案:MongoDB:Howtoupdatemultipledocumentswithasinglecommand?(13个答案)FindAndModify,returnarrayofObjects(1个回答)关闭5年前。我正在尝试使用mongoose的findByIdAndUpdate方法传入对象ID列表并立即更新它们。但是,我收到“错误:无法将$set与ObjectId一起使用。”我似乎无法将其与我的代码相关联的错误。这是我的代码。returnComponentModel.findByIdAndUpdate({_id:{$in:input.subjectIds

node.js - MongoDB 不更新双嵌套数组中的子文档(使用 Mongoose FindByIdAndUpdate)- 确切位置已知

我有一个大致类似于以下的文档结构:{"_id":"theIdOfThisObject","subdoc":{"array":[[{"parameters":{},"winner":null,"participants":["Person1","Person2"]},{"parameters":{},"winner":null,"participants":["Person3","Person4"]}],[]]},}我完全是在尝试替换嵌套数组中的子文档之一。我不需要搜索它-我知道确切的位置。例如,我试图用替换第一个子文档"parameters":{"frog":20},"winner":

javascript - Mongoose findByIdAndUpdate 失败没有错误

这是我的架构:varpostSchema=newmongoose.Schema({_id:mongoose.Schema.ObjectId,title:String,body:String,created_at:String,modified_at:String});varPost=db.model('Post',postSchema);现在,我在数据库中已经有了一个“帖子”版本。这是我要写的内容(上面架构的一个实例):{title:'SamplePost',body:'thissasamplepost.',_id:50c208567d32d75f15000001,modified_a

mongodb - Mongoose findByIdAndUpdate 不工作

我在下面有一个相当直接的方法来更新基于其ObjectId的文档。它不会返回错误,但无法对文档进行所需的更新。我认为它失败了,因为根据我的研究,findByIdAndUpdate()仅采用纯Javascript,而job._id是我要更新的文档中的ObjectId。谁能告诉我如何使这项工作正常进行?functionhandleEncoderResponse(xmlResponse,job){varr=et.parse(xmlResponse);varmediaID=r.findtext('./MediaID');varmessage=r.findtext('./message');Enc