草庐IT

mongoose-encryption

全部标签

node.js - Mongoose 在启动时调用 ensureIndex,但不推荐这样做。那么为什么它是默认的呢?

我无法理解一件事。正如我们在Moongosedocs中读到的那样:Whenyourapplicationstartsup,MongooseautomaticallycallsensureIndexforeachdefinedindexinyourschema.Whilenicefordevelopment,itisrecommendedthisbehaviorbedisabledinproductionsinceindexcreationcancauseasignificantperformanceimpact.DisablethebehaviorbysettingtheautoInd

javascript - 在 db.open() 回调中使用导出 - mongoose/express

我有一个user.js文件:varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/dbName');varUser=mongoose.model('user',{username:String,password:String});exports.User=User;我正在访问其他文件中公开的User变量。但是,我根据文档将文件更改为:varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/dbName');vardb=

node.js - Mongoose 不会让我为数字插入空值吗?

我定义了以下Mongoose模式:participantSchema=newSchema({id:Number,email:String,survey:{type:Schema.Types.ObjectId,ref:'Survey'},created:{type:Date,"default":Date.now},answers:[{question:{type:Schema.Types.ObjectId,ref:'Question'},values:Array,question_id:Number,sub_id:Number}]});当我尝试为我的answers数组插入以下值时:[{q

node.js - Mongoose 对象文字子文档不可访问

如何使用Mongoose访问数组中的子文档?在架构中,我根据docs使用对象文字声明了我的子文档。.在我检索到父文档后,我可以注销doc.children并查看对象数组,但是当我尝试访问任何文档时,我会得到未定义的信息。doc.children未作为数组返回,那么如何访问子文档?架构:varparentSchema=newSchema({children:[{name:'string'}]});用法:console.log(doc.children);//[{name:'hello'},{name:'world'}]doc.children[0];//undefineddoc.chil

node.js - Mongoose 模型在数组拼接后不保存

我有一个带有嵌套数组属性的数组属性的Mongoose模型。以下代码中的console.logs准确显示了我期望的数据,但是,数据并未持久保存到数据库中,我不知道为什么...self.findByCustomerId(customerId,function(err,order){if(err)done(err,null);console.log('Toppingsbeforesplice:',order.lines[lineIdx].toppings);order.lines[lineIdx].toppings.splice(toppingIdx,1);order.updated=new

node.js - Mongoose - 查找其数组属性包含给定子集的所有文档?

我有一个基于以下模式的(简化的)模型:schema=mongoose.Schema({foo:{type:String},bars:[{type:String}]});model=mongoose.model('model',schema);我想创建一个API来返回包含所有“条形”的所有文档,这些“条形”以逗号分隔的列表形式提供。所以我有:exports.findByBars=function(req,res){varbarsToFind=req.body.bars.split(',');//findthematchingdocument};Mongoose是否为此提供了一个API,或

node.js - mongoose/mongodb 查询没有相关记录的记录

我有两个Mongoose模型。我们称一个模型为foo,第二个模型为bar。bar记录有一个相关的foo记录和一个电子邮件地址。我希望我的api被传递一个电子邮件地址并返回一个foo记录列表,这些记录没有使用该电子邮件地址创建的bar记录。我将如何使用mongoose执行此操作?我知道我可以用SQL编写这个查询,但我一直在尝试学习一个没有sql的数据库,因此学习了mongo。这是一个例子。我有2个foo记录和2个bar记录:福斯:{name:"firstfoo"}{name:"secondfoo"}还有我的酒吧记录:{email:"requestEmail@example.com,foo

node.js - 用 Mongoose 更新 "expires"

我是mongodb和mongoose的新手,我很难弄清楚如何执行以下操作。我有一个架构,比如“用户”,其中包括这样一个字段:createdAt:{type:Date,required:true,default:Date.now,expires:'4h'}因此,当我创建一个新用户时,说varuser=newUser()(假设用户requires正确的模型),创建的新用户将被删除在(大约)4小时后(如果我理解正确的话)。我想知道是否有办法更新用户的expires属性。我想执行以下操作:从我的数据库中检索用户更新expires,使用户不再过期保存更改任何建议将不胜感激!

javascript - 在 Mongoose 中检索副本集状态

我正在构建一个从MongoDB集群读取数据的Node.js应用程序。该应用程序使用Mongoose与Mongo进行通信。我想构建一个功能,它能够告诉我Mongoose实时了解MongoDB副本集的哪些信息(比如调用rs.status()),但是这样到目前为止,我无法在互联网上找到任何类型的信息。这样做的目的是能够监控副本集中是否发生了某些更改,并在需要时进行报告。问题是,到目前为止,我在Internet上找不到任何关于此主题的内容。有没有人知道如何启动它?如果我可以为此目的使用当前的Mongoose连接,那就太好了。 最佳答案 您可

javascript - 如何在 Mongoose 中设置文档创建的 TTL 日期?

我正在尝试在Mongoose中创建一个promoCode模式。创建时,我需要能够设置促销代码的到期日期。促销代码不一定具有相同的TTL。我看了thisquestion,但我的文件还没有过期。这是我的promoCode.js文件:varmongoose=require("mongoose");varpromoCodeSchema=mongoose.Schema({expirationDate:Date,createdAt:{type:Date,expireAfterSeconds:Number,default:Date.now}})module.exports=mongoose.mode