草庐IT

Node-red

全部标签

node.js - 在 Node 中重用 MongoDB 连接

这是我得到的错误:[错误:db对象已经连接,不能多次调用open]。我在这个誓言测试中有一个全局mongo对象。mongo=newmongo.Db(config.api.apiTest,newmongo.Server('localhost',27017,{}),{native_parser:off,safe:true})当我第二次尝试打开它时出现此错误。所以即使我第一次使用db.close()它似乎也没有关闭。是否有另一种重用连接的方法?.addBatch("Redis-":"Standardaccount-":topic:->#.redisClient.del"#{accountId

node.js - mongoose findById 在我使用字符串文字时有效,但在我引用对象的属性时无效

我在Mongoose中遇到了一个非常奇怪的问题。这一行正确地找到了Round:models.Round.findById("555ec731385b4d604356d8e5",function(err,roundref){console.log(roundref);....这条线没有models.Round.findById(result.round,function(err,roundref){console.log(roundref);我已经在控制台记录了result,它显然是一个包含属性round的对象:{round:"555ec731385b4d604356d8e5",sele

javascript - 在 Node.js 中连接 MongoDB 在 for 循环中不起作用

我有一个连接本地mongoDB数据库的函数,但是当我尝试将其放入for循环时,连接突然不起作用。varconnectMongo=require("./ConnectToMongoDB");varinsertDocument=require("./InsertDocument");functionspamMongoDBtest(){process.nextTick(function(){varmax=500;for(vari=0;i为什么我会得到这个AssertionError:AssertionError:null=={[MongoError:connectECONNREFUSED]n

node.js - 在 node.js 中从 node-mongodb-native 获取 MongoDB 服务器版本

这似乎是一件非常简单的事情,我想知道这是否是我在StackOverflow上最不聪明的问题。我想知道node-mongodb-native的MongoDB服务器的版本连接到。但是,我似乎无法使用谷歌找到与此相关的任何信息。它与require('mongodb').version不同;这包含Node模块版本。 最佳答案 您必须使用serverStatus数据库命令,用于检索您连接到的mongod或mongos实例的版本。nativenode.js驱动程序提供了Admin.serverStatus为此目的:varMongoClient=

node.js - 有没有比堆叠它们更好的依赖函数调用方法?

我在Express路由器代码中,使用Jade进行渲染并从MongoDB中提取数据以为此做准备。与以下构造相比,是否有更好的方法将所需的所有数据汇总在一起?请注意,表restaurants、customers和drivers之间没有依赖关系,要求先返回一个——我只需要在页面呈现之前执行所有三个。在某些情况下,这些级联调用中的一些会变得非常深入。必须有更好的结构,对吧?router.get('/iframe_map/:restaurantid/:customerid',function(req,res,next){Restaurant.findOne({'_id':req.params.r

node.js - Mongodb 查找然后更新

我想运行一个查询,获取所有“事件”字段为真的文档,并对它们运行一个自定义函数,检查文档中的“日期”字段是否超过10天。如果它们都为真,那么它将使事件字段为假。这是我当前代码的样子:db.ad.find({$and:[//Checkifactiveistrueandthe$whereclausealsoequalstotrue{'active':true},{'$where':function(){//Customcomparefunctionvardate=newMoment(this.date);//getsthedatefromthecurrentdocumentvardate2=

node.js - 在单独的 ec2 实例上连接到 mongodb

我在AWS上运行两个不同的实例,一个用于Node应用程序,另一个用于mongoDB。我正在尝试连接到其他实例上的mongoDB,但无法连接并因“504网关超时”而失败。我连接到Node应用程序的db_conf.js如下所示:varexpress=require('express');varmongodb=require('mongodb');varurl="mongodb://:27017/local";module.exports=url;我已经在mongodb.conf中注释了“bind_ip”并重新启动了mongoDB。另外,我已经从mongoDB实例的安全组中为Node应用服务

node.js - nodejs mongodb 查找修改并返回新的。无法规范化查询

我的问题与此有关findAndModifyErrorinmongodb-nodejs-errorcode17287但解决方案没有奏效(我尝试指定顺序,但我得到了同样的错误)我认为这可能与我正在使用example而不是_id(_id是此集合中的一个字段,在这种情况下我只是不想通过_id进行搜索)完全不确定...错误:{[MongoError:exception:nextSafe():{$err:"Can'tcanonicalizequery:BadValuebadsortspecification",code:17287}]name:'MongoError',message:'excep

node.js - Mongoose 种群 - 回调与执行

在Node.js/Mongoose/Mongo上是SomeModel.findOne({_id:id},callback).populate('ref')相当于SomeModel.findOne({_id:id}).populate('ref').exec(callback)“ref”是单个文档(不是数组)。问题是使用第一种语法,“子”文档在调用回调时随机不会填充。 最佳答案 我不知道内部结构,但我会说它们不一样。第一个可能是这样做的:找到文件使用文档调用回调填充ref(这是通过单独的查询完成的)第二个可能是这样做的:找到文件填充引

node.js - Mongoose - 聚合添加 'is_self' 字段

我正在构建一个聊天应用程序,它应该从MongoDB检索所有新消息,并分组到对话中。但是每条消息都应该有一个新的“is_self”字段编辑:“is_self”字段包含一个bool值,表示消息是否来自用户。如此伪:is_self:{$cond:{if:{message.sender==MYID)},then:true,else:false}假设我有消息模型varMessageSchema=newSchema({conversation_id:{type:mongoose.Schema.ObjectId,ref:'Conversation',required:true},message:{t