草庐IT

mongoose-plugins

全部标签

node.js - Mongoose 不会将嵌套对象保存在另一个嵌套对象中

通常在mongoose中保存嵌套的对象,通过父亲的调用方法save,但是如果我们有两层约定,祖父,父亲[nested],儿子[nested],儿子是不会通过父亲的调用方法save来保存的.祖父->组varschema=newmongoose.Schema({name:String,days:[mongoose.Schema.Types.Day],});module.exports=mongoose.model('Group',schema);父亲->日varschema=newmongoose.Schema({_id:Number,matches:[mongoose.Schema.Ty

node.js - 如何在 Mongoose 模式中定义触发器

当成员集合的数量达到100时,在mongoose模型级别是否有任何类型的触发器提供设置open字段的值=false的能力?varmongoose=require('mongoose');varSchema=mongoose.Schema;varlistSchema=newSchema({name:{type:String,required:true,trim:true},desc:{type:String},open:{type:Boolean,default:true},members:[{userid:{type:Schema.Types.ObjectId,ref:'User'},

node.js - Mongoose.js 条件填充

我正在处理一些旧数据,其中一些模式具有“混合”类型。基本上有时一个值将是一个引用的ObjectID,但其他时候它会是一些文本(super糟糕的设计)。由于出现非ObjectID的次数,我无法正确填充此数据。因此,对于我的实际问题:是否可以创建一个有条件的填充(在集合上);我需要能够告诉populate跳过那些other值。 最佳答案 是的,您可以检查MongooseAPI引用中的中间件功能http://mongoosejs.com/docs/middleware.html您需要做的是在填充这些数据之前,验证数据是否是对象ID,如果是

javascript - 使用 Mongoose 更新数组中的特定对象时出错

我需要更新数组中的特定对象{"_id":"543e2f8e769ac100008777d0","createdDate":"2014-10-1501:25am","cancle":false,"eventDateAndTime":"2014-02-1212:55am","eventstatus":true,"userPhone":"44444444","userId":"54334def7e85de48638d1069","createdBy":"four","eventName":"realtea","__v":0,"friends":[{"phoneNumber":"1111111

node.js - Mongoose 中的多层次人口不起作用

我有三个模型,方案(Program)、等级(Tier)、优惠(Offer)。一个程序可以有多个层级,一个层级可以有多个报价。所以我的程序有一系列的层,相应地,一个层可以有一系列的报价。现在我正在尝试按如下方式填充程序:varProgram=mongoose.model('Program');varOffer=mongoose.model('Offer');varTier=mongoose.model('Tier');Program.findOne({_id:p_id}).populate('tiers').exec(function(err,docs){varopts={path:'t

javascript - Mongoose 加密

如何加密不包含子文档中特定字段的子文档?我正在尝试使用mongoose-encryptionplugin在以下架构上实现加密.我的父模式即“parentSchema”被加密,但不是子模式。我需要加密“childSchema”和“childinformationSchema”。我在这里缺少什么?varchildinformationSchema=newSchema({otherwitnes:String,reportedemployOther:String,status:String,updateddate:Date,updatedby:String});childinformation

node.js - 更新引用文档数组时 mongoose 中的 DivergentArrayError

我在mongoose中定义了一个模式,如下所示:varVolunteerSchema=newSchema({......otherfields.....preferLocations:[{type:Schema.ObjectId,ref:'Location'}].....});我正在使用volunteer.save()方法来更新模型。更新到volunteer模型时,出现如下错误:{[DivergentArrayError:Foryourowngood,using`document.save()`toupdateanarraywhichwasselectedusingan$elemMat

mongodb - Mongoose 全文搜索嵌套文档并填充选项

我有这个模型/***ItemSchema*/varItemSchema=newSchema({content:{type:String,default:'',trim:true},description:{type:String,trim:true},hints:{type:Number,default:0},status:{type:[{type:String,enum:['draft','published','vetoed']}],default:'draft'}});/***SectionSchema*/varSectionSchema=newSchema({name:{typ

javascript - 如何在数据库中存储 Mongoose 模式

我正在开发一个带有express和mongoose的特殊应用程序,它需要构建一个mongoose模式,然后将其存储在数据库中。我想创建一个项目,人们可以在运行时动态创建集合,然后要求其他人通过特殊形式填充这些集合例如,我想将如下所示的架构存储到我的数据库中。我该怎么做?varentitySchema={name:String,num:[Number],time:[Date]};有什么特殊的函数可以将mongooseschema转成json或者string吗?在模式json上调用toString()函数不起作用,因为它无法解释String或Number类型 最

node.js - Mongoose 将 _id'ss 保存为字符串而不是 ObjectId

将Nodejs与Mongodb和Mongoose结合使用。我刚刚发现Mongoose/Mongodb一直将自动生成的_id字段保存为字符串而不是ObjectId。Mongodbshell输出和示例文档:>db.users.count({_id:{$type:7}})2>db.users.count({_id:{$type:2}})4266>db.users.find({_id:{$type:7}},{_id:1}).limit(1){"_id":ObjectId("55f7df6fdb8aa078465ec6ec")}>db.users.find({_id:{$type:2}},{_i