草庐IT

mongoose-dbref

全部标签

node.js - 限制 Mongoose 字段值

我正在尝试创建:varmongoose=require('mongoose');varFeelingSchema=newmongoose.Schema({userId:String,feelingDate:Date,feelingTimeOfDay:String,feelingValue:String});我如何将字段feelValue的值限制为有限的集合,比如['happy','angry','shocked']我使用的是mongoose3.8.23版 最佳答案 您可以使用enum将字符串字段限制为一组枚举值。架构定义中的属性:v

javascript - Mongoose 保存失败且没有错误

正如标题所示,我遇到了mongoosesave方法的问题,该方法失败但不会产生错误。我实际上知道它为什么会失败,这归结为userId字段被标记为必需但未提供...但我不知道为什么它不会引发错误。我已经用尽了谷歌和stackoverflow来寻找类似的建议,但没有运气,所以把它开放给任何可以帮助我的人!这是代码...Model.jsvarmongoose=require('mongoose');varTimeSchema=newmongoose.Schema({client:String,matter:String,activity:String,tags:String,descript

javascript - Mongoose 类型错误 : Schema is not a constructor

我遇到了一件奇怪的事情。我有几个Mongoose模型-其中一个(只有一个!)我收到这个错误:TypeError:Schemaisnotaconstructor我觉得这很奇怪,因为我有几个工作模式。我尝试在非工作模式中记录mongoose.Schema,它确实与我工作模式中的mongoose.Schema不同-这怎么可能?代码几乎相同。这是非工作模式的代码:varmongoose=require('mongoose');varSchema=mongoose.Schema;varerrSchema=newSchema({name:String,images:[{type:String}],

unit-testing - 测试 Mongoose Node.JS 应用程序

我正在尝试为我的部分Node应用程序编写单元测试。我正在为我的ORM使用Mongoose。我搜索了很多关于如何使用Mongoose和Node进行测试的方法,但没有提供任何东西。解决方案/框架似乎都是全栈的,或者没有提到mock的东西。有没有一种方法可以模拟我的MongooseDB,以便在我的测试中返回静态数据?我宁愿不必建立一个测试数据库并为每个单元测试填充数据。有没有其他人遇到过这种情况? 最佳答案 我也去寻找答案,结果到了这里。这就是我所做的:我开始使用mockery模拟我的模型所在的模块。然后创建我自己的模拟模块,每个模型都将

node.js - Mongoose 复杂(异步)虚拟

我有两个mongoose架构,如下所示:varplayerSchema=newmongoose.Schema({name:String,team_id:mongoose.Schema.Types.ObjectId});Players=mongoose.model('Players',playerSchema);varteamSchema=newmongoose.Schema({name:String});Teams=mongoose.model('Teams',teamSchema);当我查询Teams时,我还想获得虚拟生成的小队:Teams.find({},function(err,

node.js - Mongoose 复杂(异步)虚拟

我有两个mongoose架构,如下所示:varplayerSchema=newmongoose.Schema({name:String,team_id:mongoose.Schema.Types.ObjectId});Players=mongoose.model('Players',playerSchema);varteamSchema=newmongoose.Schema({name:String});Teams=mongoose.model('Teams',teamSchema);当我查询Teams时,我还想获得虚拟生成的小队:Teams.find({},function(err,

javascript - 如何在 ES6/ES2015 中编写 Mongoose 模型

我想在ES6中编写我的Mongoose模型。基本上尽可能替换module.exports和其他ES5东西。这是我所拥有的。importmongoosefrom'mongoose'classBlacklistextendsmongoose.Schema{constructor(){super({type:String,ip:String,details:String,reason:String})}}exportdefaultmongoose.model('Blacklist',Blacklist)我在控制台中看到了这个错误。if(!('pluralization'inschema.op

javascript - Mongoose 的继承

您好,我需要在mongoose库中继承我的模式。有完整的插件吗?或者我自己应该怎么做?我还需要从Base架构继承所有pre、post、init中间件。 最佳答案 对于寻找此功能的其他人,Mongoose3.8现在具有通过鉴别器功能的模式继承:https://github.com/LearnBoost/mongoose/pull/1647 关于javascript-Mongoose的继承,我们在StackOverflow上找到一个类似的问题: https://s

node.js - Node , Mongoose : on save() "VersionError: No matching document found."

我是Mongoose的新手,所以这可能非常很简单..但是。我有一个非常简单的架构,其中包含一个简单的数字数组:userSchema=newmongoose.Schema({name:String,tag_id:String,badges:[Number]});varuser=mongoose.model('User',userSchema);稍后我想为用户添加一个徽章。所以..user.findOne({tag_id:tagid},function(err,doc){if(!doc)callback(false,'nodoc');//checktoseeifbadgeisinarray

node.js - Node , Mongoose : on save() "VersionError: No matching document found."

我是Mongoose的新手,所以这可能非常很简单..但是。我有一个非常简单的架构,其中包含一个简单的数字数组:userSchema=newmongoose.Schema({name:String,tag_id:String,badges:[Number]});varuser=mongoose.model('User',userSchema);稍后我想为用户添加一个徽章。所以..user.findOne({tag_id:tagid},function(err,doc){if(!doc)callback(false,'nodoc');//checktoseeifbadgeisinarray