草庐IT

nodes_alive

全部标签

node.js - 平均堆栈中的 session 处理

我是MEANstack的新手,目前meanstack正在向mongodb插入session:app.use(session({saveUninitialized:true,resave:true,//cookie:{maxAge:600},secret:config.sessionSecret,store:newmongoStore({db:db.connection.db,collection:config.sessionCollection})}));但我想在该session中保存一些自定义变量并跨请求访问它们,但我不知道如何在session中保存它。假设我想在session中保存

node.js - Mocha 测试执行时间太长

所以我正在开发一个express.js应用程序,其中我有一个Mongoose模型用户。我编写了一个测试文件(使用Mocha)来测试save()函数,但我所有的测试执行时间太长,最终超时。这是我遇到的错误:Testing-Server-User-ModelTestingsave()1)shouldbeabletosavewithoutproblems2)shouldfailtosaveanexisitnguseragain3)shouldshouldanerrorwhentrytosavewithemptyemail4)shouldgiveanerrorwhentrytosavewith

node.js - 聚合以从文档和数组元素中获取平均值

我有这些对象的数组:item1={name:'item',val:1,list:[{type:'a',value:1},{type:'b',value:1},{type:'c',value:1}]};item2={name:'item',val:5,list:[{type:'a',value:3},{type:'b',value:99},{type:'c',value:1}]};它们都有相同的数组,相同的类型“a”、“b”和“c”,但值不同。如何获取类型“a”、“b”和“c”的平均值?如何获取所有项目的平均值?期待itemAvg={name:'item',val:3,list:[{ty

node.js - KeystoneJS:管理 UI 中的关系未更新

我正在自定义KeystoneJS,我遇到了一个问题,我的管理UI中的关系列表似乎无法更新。具体来说,我正在查看默认的Post和PostCategories模型,它们具有在Post.categories字段上定义的关系。如果我添加一个类别,它不会显示为创建或编辑帖子时的选项。是否存在某种数据缓存?有没有人看到过这个问题,我没有看到任何错误,我可以确认类别已经在MongoDB中创建并且前端可以正常查看和显示类别。谢谢 最佳答案 这是Keystonev0.3中的一个错误。如果您转到以下链接https://github.com/keysto

node.js - 使用 Nodejs 从 MongoDB 中删除项目

我正在尝试从所有引用它的集合中删除用户ID。我从表单中带了一个用户ID,并希望在每个业务集合中删除对它的所有引用。我知道下面的查询不起作用,但它显示了我当前的方法。db.collection('business',function(err,allBus){allBus.update({},{$pull:{followers:{userID}}});});这是我的数据,有什么想法吗?{"_id":ObjectId("55355d0ab063708c0b73809e"),"address":"Donegal","businessName":"burkesshoes","email":"in

node.js - 如何在 Mongoose Schema 方法中指定 `this`

我尝试在Mongoose中摆弄一下模式方法。我想知道如何从我正在使用的模式中调用信息,有点像使用this。我的架构如下所示:'usestrict';varmongoose=require('mongoose'),Schema=mongoose.Schema;varBuildingSchema=newSchema({name:String,info:String,level:{//Thecurrentlevelofthetemplate,defaultvalueis1type:Number,default:1},ressource:{//Ressouceslevel:[{gain:[{/

node.js - Mongodb nodejs 驱动程序 skip() 不起作用

以下代码始终返回相同的文档。req.query.skip一直递增10,仍然打印相同的文档集。还有1000多个文档。Collection.find({}).skip(req.query.skip).limit(10);varimageIdArray=[];cursor.each(function(err,item){if(item==null){//endconsole.log(imageIdArray);res.write(JSON.stringify(imageIdArray));res.end();}else{imageIdArray.push(item._id);}});skip

node.js - MongooseJS 会在 save() 上返回一个新的结果对象吗?

默认情况下,MongoDBoncollection.save()返回一个WriteResult对象,如文档中所述:save()返回一个包含插入或更新操作状态的WriteResult对象。但是对于Mongoose(我猜是Node中的底层mongodb驱动程序),您可以添加第二个参数,该参数填充了您刚刚插入的整个对象和新的_id:varuser=newUser(req.body);user.save(function(err,userResult){if(err){log.error(err);}log.debug('Userdata:',userResult);});所以我的问题是:us

node.js - 按子子文档过滤子文档

想象一下,您有以下Mongoose模式:mongoose.model('Team',mongoose.Schema({players:[{trikots:[{isNew:Boolean,color:String}]}]})我想查询我的数据以获取所有符合以下条件的团队有三角裤{isNew:true,color:red}只选择有三叉戟的球员{isNew:true,color:red}我开始对子子文档使用$elemMatch,但他们仍然是假玩家。我必须使用aggregate()吗?以及如何? 最佳答案 是的,使用aggregationfr

node.js - 允许任何人运行 Meteor 应用程序

我正在寻找有关部署meteor应用程序的建议。我整理了一个应用程序,客户将在他们自己的网络上安装该应用程序。我的开发版本运行良好,正在尝试确定一种适合他们部署的好方法。我希望安装尽可能简单。他们中的一些人将拥有完整的网络/管理员,而其他人则只想安装在本地机器上。在开发中,mongo与meteor一起提供,用户只需运行meteor即可运行。对于生产级别的应用程序,这不是一个好的做法吗?另一个(首选选项)是将其部署为Node应用程序。但这需要单独安装mongo,对我来说似乎是一个额外的步骤。我的想法是,如果我按原样发送给客户,package.json可以一步安装所需的一切,包括meteor