草庐IT

mongoose-dbref

全部标签

javascript - Jasmine spyOn mongoose 保存

我想模拟Mongoose模型的save()函数。我要测试的函数在名为user.js的文件中如下所示:varUser=import('User.js')post:function(req,res){varuser=newUser({password:req.body.password,email:req.body.email,});user.save(function(err){if(err){....}else{....}});我试图在另一个名为user_spec.js的文件中编写如下所示的测试:varHander=require('user.js')it('worksproperly

javascript - 使用 Mongoose 在 JSLint 中抑制 `Expected an identifier and instead saw ' default'(保留字)

我正在使用jshint来验证我的JavaScript文件。在服务器端,我将node.js与Mongoose结合使用。在Mongoose中,我被鼓励以如下方式编写模式:varUserSchema=newmongoose.Schema({firstname:{type:String,default:''}});运行linting时,出现错误:Expectedanidentifierandinsteadsaw'default'(areservedword).有没有办法抑制这个错误?我真的更喜欢这种行为而不是写作:varUserSchema=newmongoose.Schema({firstn

javascript - node.js 链接多个 promise (使用 Mongoose )

以下是我正在处理的一个典型的promise函数。var_delete=function(t,id){returnPromise.cast(Event.find({where:{id:id}},{transaction:t})).then(function(d){if(d){//-------(*)returnPromise.cast(d.updateAttributes({status:-1},{transaction:t})).then(function(){//doinventorystuffreturnPromise.cast(Inventory.update({}).exec(

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 - Mongoose - 无法填充路径通知排序。因为它是文档数组的子属性

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

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 - 使用 mongoose 在 node.js 上进行单元测试的结构

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