jjzjj

mongoose

全部标签

javascript - 我应该如何正确使用 Mongoose 填充?

我正在学习一些Node并且一直在尝试使用Mongoose。目前,我的目标是学习如何使用populate.我有一个projects定义和milestone要求:projectSchema=newmongoose.Schema({id:String,title:String,description:String,owner:String,site:String,creation_date:Date,milestone_ids:Array,milestones:[{type:mongoose.Schema.Types.ObjectId,ref:"Milestone"}]})Project=m

javascript - 使用 nodejs 、 express 和 mongoose 的 bluebird Promisies crud 示例

我的friend们,不幸的是我找不到任何关于如何在nodejsexpressmongoose应用程序中实现bluebirdpromise库的示例。我的应用程序设置中Mongoose模型、Controller和路由位于不同的文件中。但是用mongoose实现它,我就是想不通。所以请有人告诉我它是如何使用的。请看下面。//expresscontrollerArticle.jsvarmongoose=require('mongoose'),errorHandler=require('./errors'),Article=mongoose.model('Article');exports.li

javascript - Nodejs 中的日期验证

我希望用户输入他的出生日期。我希望它采用YYYY-MM-DD格式。Node验证器现在验证所有日期格式,而不是特定格式。所以如果我输入12324433,它也会被验证,因为它认为它是纪元时间。请帮我看看我该怎么办?这个问题特定于Mongoose中的验证 最佳答案 我是express-form的super粉丝,def值得一看——你也可以使用moment.js.出于这个原因,我自己使用了它来自moment.js文档:moment("2011-10-10","YYYY-MM-DD").isValid();//truemoment("2011-

javascript - Mongoose - 无法填充路径通知排序。因为它是文档数组的子属性

我有一个非常简单的mongo方案,我正在使用mongoose访问我可以使用填充将用户名和名字映射到每个通知的发件人字段,问题是我似乎无法对日期字段进行任何排序使用这段代码我得到一个错误MongooseError:Cannotpopulatewithsortonpathnotifications.frombecauseitisasubpropertyofadocumentarray是否有可能以不同的方式或更新的方式(深度填充、虚拟)做到这一点?我正在使用Mongoose5。我宁愿不使用vanillajavascript之后对对象进行排序或创建一个单独的模式varUserSchema=ne

JavaScript 内存泄漏 (Node.js/Restify/MongoDB)

更新4:通过在函数外部实例化restify客户端(参见controllers/messages.js)并在每次请求后调用global.gc(),内存增长率似乎已降低很多(每10秒约500KB)。然而,内存使用量仍在不断增长。更新3:遇到这篇文章:https://journal.paul.querna.org/articles/2011/04/05/openssl-memory-use/可能值得注意的是,我将HTTPS与Restify结合使用。更新2:将下面的代码更新为当前状态。我试过用Express替换Restify。遗憾的是,这没有任何区别。似乎链末端的api调用(restify->

javascript - 使用 Mongoose 更新,不返回任何错误但也不更新

我正在尝试使用Mongoose学习CRUD。我只缺少更新部分。我做错了什么?我的模型varmongoose=require('mongoose');vartestSchema=newmongoose.Schema({name:String,number:Number});mongoose.model('TestData',testSchema);我的路线//getthemodelsvarTest=mongoose.model('TestData');参数如果链接将'test'作为url参数,它将查看数据库中是否存在该对象,否则返回错误。router.param('test',funct

javascript - Lodash 与 Mongoose 合并

这是使用express.js和mongoose的更新方法的代码片段。我正在尝试将现有的mongo实体与来自请求负载正文的json对象合并。exports.update=function(req,res){if(req.body._id){deletereq.body._id;}Entity.findById(req.params.id,function(err,entity){if(err){returnhandleError(res,err);}if(!entity){returnres.send(404);}varupdated=_.merge(entity,req.body);u

javascript - mongoose .find() 方法返回具有不需要属性的对象

因此,我使用mongoose已经有一段时间了,我发现了一些非常奇怪的事情。如果有人能启发我,那就太好了。问题是,当使用Mongoose的.find()方法时,我作为响应获得的对象充满了我不知道它来自哪里的属性(我猜它们是内置属性,但是随便),我只想遍历我.select()的属性。知道了?不?好的...更好地解释:我声明了我的架构和模型:varmySchema=mongoose.Schema({name:String,prop1:String,prop2:String,prop3:String})varmyModel=DB.model('myDataBase',mySchema)然后我想

javascript - 尝试在异步函数中使用 bcrypt 散列密码

从thisquestion开始.我觉得我快到了,但我对异步的不完整理解使我无法解决这个问题。我基本上只是尝试使用bcrypt对密码进行哈希处理,并决定分离出hashPassword函数,以便我可以在应用程序的其他部分使用它。hashedPassword不断返回undefined......userSchema.pre('save',asyncfunction(next){letuser=thisconstpassword=user.password;consthashedPassword=awaithashPassword(user);user.password=hashedPassw

javascript - 使用 mongoose 在 node.js 上进行单元测试的结构

几个月来我一直在使用node.js进行开发,但现在我开始了一个新项目,我想知道如何构建应用程序。当谈到单元测试时,我的问题就来了。我将使用nodeunit编写单元测试。我还使用express来定义我的REST路由。我正在考虑在两个“单独的”文件中编写访问数据库的代码(显然,它们会更多,但我只是想简化代码)。会有路由代码。varmongoose=require('mongoose'),itemsService=require('./../../lib/services/items-service');//GET'/items'exports.list=function(req,res){