草庐IT

mongoose-dbref

全部标签

node.js - Mongoose 深度填充多个二级对象不起作用

我有一个模型A有这个字段:varfield={foo:String,b:[{type:Schema.Types.ObjectId,ref:'B'}]}和模型B具有以下字段:varfield={c:{type:Schema.Types.ObjectId,ref:'C'}//let'ssaythishas3stringfieldd:{type:Schema.Types.ObjectId,ref:'D'}//sowasthis}基于此answer通过TrinhHoangNhu通过这样做-A.find({_id:req.params.id}).populate({path:'patient',

node.js - Mongoose - 带有 $set 标志的 findOneAndUpdate

考虑这个命令:WorkPlan.findOneAndUpdate({_id:req.params.id},updateObj,function(err){...})与此相对:WorkPlan.findOneAndUpdate({_id:req.params.id},{'$set':updateObj},function(err){...})在开发我的项目时,我惊讶地发现第一个命令的结果与第二个命令的结果相同:updateObj被合并到数据库中的现有记录中,即使在第一种情况下应该更换它。这是mongoose/mongodb中的错误还是我做错了什么?如何在更新时替换对象而不是合并它?我正在

node.js - 在 mongoose 中进行预更新时,user.isModified 不是函数

我正在尝试在我正在构建的应用程序中散列密码,当我通过调用此函数(coffeesctipt)创建用户时,它们散列得很好:UserSchema.pre'save',(next)->user=thishashPass(user,next)hashPass=(user,next)->#onlyhashthepasswordifithasbeenmodified(orisnew)if!user.isModified('password')returnnext()#generateasaltbcrypt.genSaltSALT_WORK_FACTOR,(err,salt)->iferrreturn

javascript - 使用 Mongoose 更新数组中的子文档

有一些关于此的帖子(例如here和here),但它们都没有为此使用nativeMongoose方法。(第一个使用$set,第二个使用extendnpm包。不过似乎应该有一种“原生Mongoose”方式来做到这一点。架构:varblogPostSchema=newmongoose.Schema({title:String,comments:[{body:String}]});这是我最初尝试的:BlogPost.findById(req.params.postId,function(err,post){varsubDoc=post.comments.id(req.params.commen

mongodb - 我如何根据 _id 使用 Mongoose 进行更新?

当我这样做时:client_id=req.param("client_id")?nullclient=name:req.param"clientName"status:'active'Client.update{_id:client_id},client,{upsert:true},(err,updRes)->iferrres.jsonerror:"Couldn'tcreateclient"elseres.jsonclient它将创建一个新的客户记录,除了一个null_id字段。我假设这是因为upsert的插入部分查找query来创建文档。我该怎么做才能在找不到文档时插入新的Objec

mongodb - DbRef with Mongoose - mongoose-dbref 还是 populate?

我有以下2个模式:公司事件:varcompanyEventSchema=newSchema({name:String,descriptiondate:Date,attendees:[{type:Schema.ObjectId,ref:'Member'}],]});和成员varmemberSchema=newSchema({name:String,emailAddress:String,password:String,created:{type:Date,default:Date.now}});我从companyEventSchema引用Member的方式是否正确?我正在尝试做一些dbr

node.js - Mongoose .js : _id of embedded document

我正在尝试使用mongoose和MongoDB将任务保存到任务列表中。我想把它冗余地保存在任务集合和相应的列表文档中作为嵌入文档。它工作正常,但有一点:列表的嵌入文档没有它们的objectId。但我需要它们以便将它们与任务集合中的文档逻辑连接起来。我的模式:varTaskSchema=newSchema({_id:ObjectId,title:String,list:ObjectId});varTask=mongoose.model('task',TaskSchema);varListSchema=newSchema({_id:ObjectId,title:String,tasks:[

javascript - 如何在 Mongoose.js 中应用字段类型验证而不会出现 CastError?

我正在尝试使用Express和Mongoose创建一个简单的表单,允许用户将新项目添加到集合中。Mongoose模式:varItem=newSchema({name:{type:String,required:true},price:{type:Number,required:true},description:{type:String,required:true},});快速路线:varcreate=function(req,res){Item.create(req.body,function(err){if(err)returnres.render('admin/items/new

node.js - 表示 cookieSession 和 Mongoose : how can I make request. session.user 是 Mongoose 模型?

创建新用户帐户时,我会创建newUser,它是一个Mongoose模型实例,如下所示:_events:Objecterrors:undefinedisNew:falsesave:function(){arguments:nullcaller:null_doc:Objectname:'JoeSmith'...对象的实际数据在_doc属性中,尽管存在getter和setter,因此您可以运行:user.name='JaneDoe'那会很好用的。我跑:request.session.user=newUser;将用户保存到session中。到目前为止,还不错。但是,在后续的请求中,reques

node.js - Mongoose _id 在保存前受影响

varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/test');varCat=mongoose.model('Cat',{name:String});varkitty=newCat({name:'Zildjian'});console.log(kitty);kitty.save();console.log(kitty);这个输出:{name:'Zildjian',_id:523194d562b0455801000001}两次我试过在超时后延迟保存,但它是一样的,它指向在newCat而不是.save