草庐IT

mongoose-dbref

全部标签

node.js - Mongoose 过期数据但保留在数据库中

我目前通过mongoose模式将数据保存到数据库或从数据库中过期:varUserSchema=newSchema({createdAt:{type:Date,expires:'1m'},name:String,email:String});唯一的问题是保存到数据库中的文档已从数据库中完全删除。我将如何重构上面的内容,以便名称/电子邮件地址保留在数据库中,但是如果用户在他们的到期日期之后尝试登录,那么他们会收到一条消息,说“session已过期,更新session”。(或类似的东西)我想这样做是因为如果用户使用过期的电子邮件地址登录,服务器仍然能够查找电子邮件地址并吐出“session过

mongodb - 为什么 Mongoose ObjectId.valueOf() 返回一个对象?

AccordingtothemongodbdocsObjectId.valueOf()现在应该返回id的字符串版本。但是,我使用的是mongoose(v3.8.12)并且valueOf()函数正在返回一个对象。我知道这在mongodbv2.2中发生了变化,但从那时起已经有一段时间了。谁能解释为什么会这样?或者给我一些关于Mongoose行为的权威文档?谢谢 最佳答案 您提供了指向mongodbshell文档的链接。但是,您实际使用的是node.js实现,特别是mongooseORM建立在mongodbnativedriver之上.而

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":

node.js - Mongoose 类型错误 : Object {} has no method 'cast'

我试图将一个对象插入Mongoose数组,但出现以下错误:TypeError:Object{}hasnomethod'cast'atArray.MongooseArray._cast(/vagrant/kernl/node_modules/mongoose/lib/types/array.js:108:30)atObject.map(native)atArray.MongooseArray.push(/vagrant/kernl/node_modules/mongoose/lib/types/array.js:262:23)atPromise.(/vagrant/kernl/route

node.js - 使用现有文档保存的 Mongoose 不会覆盖相同的对象引用

我不明白为什么会出现这种行为,我希望得到一些解释。我的目标是对某些文档进行更新。因为我仍然想使用mongoose验证器,而不是使用更新命令,我首先获取文档,然后在其上使用保存,所以这样我仍然可以进行验证。这是我的模型:varJobSchema=newSchema({_id:{type:Schema.Types.ObjectId,required:true},_user:{type:Schema.Types.ObjectId,ref:'User',required:true},data:{type:Object,required:true},status:{type:String,req

node.js - 如何在 mongoose hook 中保存 userId?

给定你的架构,我如何将userId保存到createdBy和updatedBy?这看起来应该是一个简单的用例。我该怎么做?在写入模型之前,我不确定如何从req.user.id获取userId到模型。//graph.model.jsvarmongoose=require('mongoose');varSchema=mongoose.Schema;varschema=newSchema({title:String,createdAt:Date,createdBy:String,updatedAt:Date,updatedBy:String,});//Thiscouldbeanythings

node.js - Mongoose 无法按名称识别集合

这个问题在这里已经有了答案:MongoosealwaysreturninganemptyarrayNodeJS(7个答案)关闭7年前。这是我的代码:varmongoose=require('mongoose');vardb=mongoose.createConnection('localhost','mcfly');db.once('open',function(){varschema=newmongoose.Schema({firstname:String,lastname:String});varcol=db.model('mathpeep',schema);col.find({f

node.js - 填充 Mongoose 的所有领域?

在运行mongoose查询时是否可以填充所有字段,以防您事先不知道哪些字段是引用文档?像这样:schema=newSchema({ref:{type:ObjectId,ref:'ref'}});db=Model('data',schema);db.find({}).populate('*').//ordb.find({}).populate({path:'*'}).//=>{ref:{_id:...,}}//"ref"ispopulatedautomatically 最佳答案 我写了一个小插件。它遍历架构并查找具有ref属性的字段,

mongodb - Mongoose 中的自动递增ID

如何在mongoose中使用自动增量ID?我希望我的ID以1、2、3、4开头,而不是mongodb为您创建的奇怪ID数字?这是我的架构:varPortfolioSchema=mongoose.Schema({url:String,createTime:{type:Date,default:Date.now},updateTime:{type:Date,default:Date.now},user:{type:Schema.Types.ObjectId,ref:'User'}}); 最佳答案 使用mongoose自动增量:https:

javascript - 如何让 Mongoose 列出集合中的所有文档?判断集合是否为空?

我正在使用MEAN堆栈并在Mongoose中编写这些方法。我想知道我放入Mongoose模型文件中的内容有什么问题。我想使用Mongoose简单地打印出myModel集合中所有文档的列表。myModel.methods.myMethod=function(cb){this.model("Bids").find({},'myField',function(err,results){if(err){console.log(err);returnerr;}console.log("okay");console.log(results);})this.save(cb);}另外,我可以用Mong