草庐IT

mongoose-plugins

全部标签

javascript - Mongoose 预保存 bcrypt 未保存

我对bcrypt和mongoose预保存功能有疑问。我的日志告诉我,一切都经过哈希处理...但是mongoose没有正确保存新的哈希密码。做后保存6BYpYJtDPOST/api/v1/用户20026.999毫秒-387做预存6BYpYJtD$2a$10$OgNaou5y8JO2v4ErcZN4v.2cG9LOPjgJKzptvrKXVgCBRrrFsMHMO为了让事情更清楚:6BYpYJtD是我生成的密码,$2a$10$OgNaou5y8JO2v4ErcZN4v.2cG9LOPjgJKzptvrKXVgCBRrrFsMHMO是我的预保存函数生成的哈希:UserSchema.pre('

javascript - Mongoose 不发送更新的结果

这个问题在这里已经有了答案:MongoosefindByIdAndUpdatenotreturningcorrectmodel(2个答案)关闭7年前。我正在尝试将一个项目添加到数组并取回更新后的模型。我这样提出我的要求:addCarToDriver(CarToAdd){constself=this;request.put('api/drivers/'+this.state.race._id).send({car:CarToAdd}).end(function(err,res){console.log(res.body);self.setState({race:res.body});})

mongodb - 固定值字段的 Mongoose 复合索引

是否可以制作复合索引,其中一个字段具有固定值?假设我想避免用户为不同的帐户使用相同的电子邮件,但只是为了普通用户帐户,我想允许管理员在他们想要的任何地方使用邮件,甚至有一个普通的使用同一电子邮件的用户帐户和管理帐户User.index({username:1,email:1},{unique:true})没有用,因为它不允许管理员重复使用电子邮件。是否可以做类似的事情?User.index({role:"regular_user",username1,email:1},{unique:true}); 最佳答案 路易斯,关于您给出的示

javascript - 在 NodeJS 中使用 Mongoose + Mockgoose 更新时忽略唯一索引

我目前正在使用MongooseODM在NodeJS应用程序中管理与MongoDB的数据库连接,并在Mocha测试中使用Mockgoose拦截连接。我遇到了一个问题,在对文档执行更新时我的唯一索引被忽略了。我只是用另一个名为Mongoose-bird的包包装Mongoose,它只允许使用promises。具体的一个模式如下://Gallery.js'usestrict';varmongoose=require('mongoose-bird')(require("mongoose"));varSchema=mongoose.Schema;varObjectId=Schema.Types.O

javascript - Mongoose 不会保存大文本

我试图将一个非常大的文本保存到我的mongodb数据库中,但它崩溃了。我正在尝试构建一个片段管理器,这是我的错误代码:{[MongoError:Btree::insert:keytoolargetoindex,failingbeverages.recipes.$code_13271{:"vargulp=require('gulp');varsource=require('vinyl-source-stream');varbrowserify=require('browserify');varbrowserSync=require('browser-sy..."}]name:'Mongo

node.js - 日期条件下的 Mongoose 查询没有结果,MongoDB Shell 工作

我有一个名为“indexes”的集合,其中包含“symbol”、“price”和“timestamp”字段。我正在尝试在此集合中查询具有特定“符号”且时间戳大于某个minDate值的项目。当我通过Mongoose查询数据时,当我在“时间戳”上有条件时,我没有得到任何结果。然而查询在MongoDBshell中运行。我使用以下架构创建了我的集合:varIndexSchema=newSchema({symbol:{type:String},price:{type:Number},timestamp:{type:Date,default:Date.now}});在我的NodeJS应用程序中,我

node.js - 具有多个字段更新运算符的 Mongoose findOneAndUpdate

我想设置一个最小值、最大值并通过一次更新在文档中增加一个计数,但找不到正确的语法这适用于增加文档中的计数:Temperature.findOneAndUpdate(dailyQuery,{$inc:{temperature_sum:thermometer.temperature,count:1}},{upsert:true},function(err,dailyTemp){if(err)throwerr;console.error(dailyTemp);});我还想设置最小最大值,并认为更新命令会遵循Temperature.findOneAndUpdate(dailyQuery,{$i

node.js - fatal error : Schema hasn't been registered for model "a". 使用 mongoose.model(name, schema)

我有以下错误:Fatalerror:Schemahasn'tbeenregisteredformodel"a".Usemongoose.model(name,schema)这是我的文件结构:--------a.model.js--------'usestrict';varmongoose=require('mongoose'),Schema=mongoose.Schema;varA=newSchema({name:String,});module.exports=mongoose.model('A',A);--------b.model.js--------'usestrict';va

node.js - 有条件地跳过 mongoose 钩子(Hook)函数

我有一个预保存钩子(Hook)来加密User模式的password字段,例如:varschema=newmongoose.Schema({username:'string',password:'string'});schema.pre('save',encrptPasswordHook);schema.pre('update',encrptPasswordHook);schema.pre('findOneAndUpdate',encrptPasswordHook);...通过这种方式,每次创建或更新User时,我都会在我的数据库中加密密码字符串。现在我有一个包含旧User数据和加密密码

javascript - Nodejs/Mongoose 将变量传递给 mongoose 函数

我是Node.js和Mongoose的新手,需要一些帮助。所以我首先创建一个名为beerObjects的数组。然后我向breweryDB发出请求并将信息存储在此数组中。request(options,function(error,response,body){if(error)thrownewError(error);obj=JSON.parse(body);data=obj['data'];for(i=0;i我有另一个函数将获取此数组并将信息存储在我的mongo数据库中。functionaddBeersToDatabase(beerObjects){console.log(beerO