草庐IT

mongoose-dbref

全部标签

node.js - Mongoose - CastError : 'Cast to undefined failed for value "[object Object ]"at path "trainers"

我是node.js的新手,所以这可能是一个愚蠢的错误。我有一个像这样的mongodb模式:seller_schema=mongoose.Schema({name:String,email:String,trainers:[{type:mongoose.Schema.Types.ObjectId,ref:'trainers'}]});seller_collection=db.model('seller',seller_schema);trainer_collection是:trainer_schema=mongoose.Schema({trainer_fname:String,train

node.js - Mongoose .save() 无法在没有回调的情况下工作

当我执行API时http://localhost:8080/api/bears发布控件被映射到post路由并进入.save()之后它不返回'err'回调。我尝试了两个数据库的全局Mongoose连接,但没有帮助。server.js//BASESETUP//=============================================================================//callthepackagesweneedvarexpress=require('express');varbodyParser=require('body-parser');v

node.js - Mongoose : Remove object from array based on ID (Cast Error)

我有一个看起来像这样的模型:mongoose.Schema({username:String,posts:[{type:Schema.Types.ObjectId,ref:'Post'}]});我有一个要传递ObjectID的端点:app.delete('/post',function(req,res){User.findOne({_id:req.user._id},function(err,result){result.pull({_id:req.body.post_id});});});感觉它应该可以工作,但我收到了这个错误:CastError:转换为ObjectId值“[obje

javascript - Mongodb/mongoose insert 不是函数

我的插入不工作,我得到错误错误:Token.insertisnotafunctionvarToken=module.exports=mongoose.model('tokens',tokenSchema);//errormodule.exports.saveToken=function(owner_id,token,callback){console.log(owner_id,token);Token.insert({"owner":owner_id,"token":token},callback);}//workingmodule.exports.getAllTokens=funct

javascript - MongoDB/ Mongoose : Updating entire document with findOneAndUpdate()

我想使用findOneAndUpdate()方法创建不存在的文档,或更新存在的文档。考虑以下代码:SampleComment=newComment({id:'00000001',name:'MySampleComment',...})我试图找出SampleComment是否已经存在,如果存在,则更新它,否则创建它:Comment.findOneAndUpdate({id:SampleComment.id},{SampleComment},//我试图在第二个参数中将模型实例作为对象传递,但结果只返回模型的默认值。文档本身也是如此。如何在第二个参数中正确传递整个对象SampleCommen

javascript - 如何在 Mongoose.js 中检查更新前/更新后 Hook 中的修改字段

我需要知道修改过的字段,或者特定字段是否在Mongoose架构中的pre或postupdate钩子(Hook)中被修改。我尝试了以下方法,但仍然无法弄清楚:schema.post('update',function(doc){//checkmodifiedfieldsorifthenamefieldwasmodifiedandthenupdatedoc});我知道也许有一个方法isModified就像在presave但我不知道如何用更新Hook。任何建议将不胜感激。 最佳答案 如果您想知道正在修改哪些字段,则需要通过调用save发出

node.js - 如何 "Fake"测试 Mongoose 模型的日期/时间

在此之前,感谢您提供的任何帮助/建议!我想要完成的事情我正在尝试找到一种优雅的方法来在创建Mongoose模型实例时测试日期/时间。我想确保存储的时间是正确的。我的模型目前看起来像这样:constmessageSchema=mongoose.Schema({user:{type:String,required:true},message:{type:String,required:true},created:{type:Date,default:Date.now},});constMessage=mongoose.model('Message',messageSchema);我将这个模

javascript - Mongoose.populate() 返回空数组而不是数据

我查找了其他问题,包括thisone但是我找不到解决我问题的答案。我已经按照officialdocumentationofmongoose中描述的相同方式定义了我的模型通过显示引用并将模型类型定义为Schema.Types.ObjectId。他们在这里:story_model.jsvarstorySchema=newSchema({...candidateParts:[{type:Schema.Types.ObjectId,ref:'StoryPart'}],...},{usePushEach:true});storyPart_model.jsvarstoryPartSchema=ne

javascript - Mongoose 将两个查询合并为同一集合

我正在尝试根据同一集合中的另一个文档进行查询以查找文档,如下所示。第一个找到用户,第二个通过使用收到的用户数据找到数据。但是我想用一个查询来完成它,比如在SQL中加入这是模式varConnectionSchema=newSchema({socketId:{type:String,require:true},location:{type:[Number],index:'2dsphere'},user:{type:Schema.ObjectId,ref:"User"},date:{type:Date,require:true,default:newDate()}});//查询returnm

node.js - Mongodb $lookup嵌套数组3层深使用 Mongoose

我在outsideServices模型中有这个:name:String,salary:Number,services:[{category:{ref:'ServiceCategories',type:Schema.Types.ObjectId},types:[{ref:'ServiceType',type:Schema.Types.ObjectId}]}]我在incidents模型中有这个:outsideServices:{ref:'OutsideService',type:Schema.Types.ObjectId}因此,当从api请求incidents时,响应如下:[{catego