草庐IT

node-schedule

全部标签

node.js - 用于 node.js(MongoDB?)的分布式数据库的事件记录

我正在寻找node.js的系统或库,它可以在每个远程服务器上记录有关客户端访问的信息,并自动在中央日志服务器上收集该信息以供以后分析。远程服务器将具有只写访问权限,而中央服务器将积累大量数据以供读取。我希望有使用分布式[NoSQL]数据库的解决方案,例如MongoDB。但是我还没有找到如何设置它。例如,我希望清理旧数据可以在中央日志服务器上启动(当数据被处理后),并且旧日期的条目可以在远程服务器上以很少的开销删除。目前我们有登录文件和Hadoop系统进行日志分析。但我认为我们需要在数据库中积累数据。 最佳答案 Winston,目前最

Node.js + MongoDB更新操作确认

在Node.js中,我有(简要地)这个脚本:varhttp=require('http');varXmlStream=require('xml-stream');varmongo=require('mongodb');vartims={...};vardb=newmongo.Db('tims',newmongo.Server("127.0.0.1",27017,{}),{w:1});db.open(function(e,db){varreq=http.get({host:tims.uri,path:'/xml/'+tims.database+tims.services.database

node.js - 从mongo中的多个集合中获取数据

我有一些集合如下所示,它们之间存在关系,testMaster和testDoc之间的关系在testDocMaster中存在例如:testMaster{_id:"Schema.Objectid",name:"String"//mastername}testDoc{_id:Schema.ObjectId,name:"String",//docnameotherdatas}testDocMaster{masterId:"_idofthetestMastertable",docId:"_idoftheabovetestDoc"}对于每个主条目,我们期望有很多关系,如果我有masterId,从te

javascript - Node.js - 无效的 select() 参数

我正在尝试创建一个列表来显示我数据库中的所有团队。我收到错误TypeError:Invalidselect()argument。必须是字符串或对象。谁能帮我弄清楚如何解决这个问题?我只是想用它来打印当前团队的列表,然后可以单击此团队列表来基本编辑团队名称!所以在我的Schema中,Team我有这个:Team.statics.getAllMeta=function(cb){varquery=this.find({},['key','name'],cb);returnquery.exec(cb);};然后在我的index.jsroutes我有这个:vargetAllMeta=functio

node.js - mongodb使用json更新同一行的多个字段

我正在使用node.jsmongodbnative驱动程序。假设我有一个名为tasks的mongodb集合,每个任务看起来像{date:'29thjan',desc:'xxx',status:'incomplete'}从用户输入中我得到一个JSON对象'newData'的形式{desc:'yyy',status:'complete'}我用这个新数据更新我的mongodb行的方式是这样的db.tasks.update({_id:newData.id},{$set:{desc:newData.desc,status:newData.status}})这里只有两个字段,所以在newData中

node.js - 带有 mongoose 子文档的 HTTP PATCH 语义

我有一个包含多个Layer子文档的Map文档,并且想要实现HTTPPATCH,因此只有给定的JSON属性应该更新Layer子文档。以下代码有效,但我必须指定可以更改的每个属性。有更好的方法吗?varupdate={};if(req.body.name!==undefined)update['layers.$.name']=req.body.name;if(req.body.isDefault!==undefined)update['layers.$.isDefault']=req.body.isDefault;if(req.body.isPublic!==undefined)updat

node.js - 如何使用 MongoDB/NodeJS 进行大规模随机更新

我有一个包含超过1000000个文档的mongoDB集合,我想用专用信息逐个更新每个文档(每个文档都有来自其他集合的信息)。目前我正在使用一个游标从集合中获取所有数据,我通过Node.js的异步模块更新每条记录获取所有文档:inst.db.collection(association.collection,function(err,collection){collection.find({},{},function(err,cursor){cursor.toArray(function(err,items){......);});});更新每个文档:items.forEach(func

javascript - 我在我的 Node.js 应用程序中使用 MongoSkin,在一段时间不活动后,它失去了与数据库的连接

我正在buildmyfirstNode.jsapplication我遇到了MongoDB的问题.我正在使用MongoSkin驱动程序。一旦我启动了我的应用程序,一切都运行良好。我可以坐下来玩一个小时,它会继续工作。但是,如果我让它在没有任何事件的情况下静置几分钟,那么下一个请求将导致错误:Error:connectionclosedatServer.connect.connectionPool.on.server._serverState(X:\Code\CodeTunnel\node_modules\mongoskin\node_modules\mongodb\lib\mongodb

node.js - 获取mongodb集合中的最大元素抛出异常

我对下面的代码有疑问。我尝试在“链接”集合中获取max(seq)。运行下面的代码后,出现“fatalerror:JS分配失败-进程内存不足”错误。我怎样才能克服这个问题?感谢您的回复。db.collection('links',function(err,collection){varoptions={"limit":1,"sort":[['seq','desc']]};collection.find({},options,function(err,docs){console.log("Returned#"+docs.seq+"documents");});});注意:顺便说一句,nod

node.js - 无法使用 node.js 和 Mongodb 包查询 MongoDB 数据库

我无法使用node.js和Mongodb包查询我的MongoDB数据库。我已经像这样成功地插入了2个对象:varmongo=require("mongodb");varhost="127.0.0.1";varport=mongo.Connection.DEFAULT_PORT;vardb=newmongo.Db("nodejs-introduction",newmongo.Server(host,port,{}),{safe:true});console.log(host);db.open(function(error){console.log("Weareconnected",+ho