草庐IT

node-schedule

全部标签

node.js - Mongoose 两次定义字段时抛出 `Field is not in schema` 错误

我正在使用Nodev0.10.31和mongoose@3.8.22。我想我遇到了一个在特定事情发生时出现的错误。此错误的影响使我无法在同一架构上拥有字段“name”和“father.name.full”。这就是我定义模式的方式:'usestrict';varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/myapp');varPersonSchema=newmongoose.Schema({name:{type:mongoose.Schema.Types.ObjectId,ref:'Name',//i

javascript - 使用 Node.js Express 发布 JSON 对象时出现 MongoDB 格式错误

我正在制作看起来像的JSON对象varnewSong={'name':'Song','genre':'Genre','percent':'100','lyrics':[{"line":"1","lyric":"firstlyric"}]}然后像这样使用Express和Node.js更新我的MongoDB//inglobal.jsfile$.ajax({type:'POST',data:newSong,url:'/songs/addsong',dataType:'JSON'}).done(function(response){...checkingforerrors...}});//in

node.js - 如何从 OpenShift 上的 nodejs 墨盒访问 mongodb 变量?

我正在尝试将应用程序原型(prototype)部署到openshift。它在127.0.0.1本地与mongodb一起工作。我试图让它在openshift环境中遵守process.env.OPENSHIFT_MONGODB_DB_URL但我的nodejs墨盒在运行时无法访问该变量。我可以看到它是在我的应用程序的shell环境中设置的。当我执行rhcssh然后export时,我看到OPENSHIFT_MONGODB_DB_URL=[full_url_with_password]一切看起来都不错。但是,当我在我的node.js应用程序中调用process.env.OPENSHIFT_MON

node.js - 在 mongodb 中存储来自 nodejs 的 settimeout id

我正在使用express和nodejs运行一个网络应用程序。我有一个特定端点的请求,我在其中使用settimeout在不同的时间间隔后重复调用特定函数。例如router.get("/playback",function(req,res){//Definecallbackhere.......vartimeoutone=settimeout(callback,1000);vartimeouttwo=settimeout(callback,2000);vartimeoutthree=settimeout(callback,3000);});settimeout函数返回一个带有循环引用的对象

node.js - find() 的 Mongoose 默认过滤器/查询参数

如果我有一系列文档,例如:{type:'post',text:'example',status:'private'//or'public'}我可以使用哪种中间件或架构配置来确保默认情况下,Model.find()仅返回status!='private'的文档?我不想每次查询集合时都必须冗余查询status!='private'。感谢您的帮助! 最佳答案 您可以尝试为您的模型实现一个包装方法,例如findNonPrivate(),然后您可以委托(delegate)它查找每个status不等于的文档“私有(private)”。像这样:v

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