我正在尝试建立一个简单的物联网温度监控系统。 Node Red 似乎是一个不错的解决方案。
我已经在 ubuntu 16.04 上安装了 node red 和 mongodb。当我尝试将数据存储到 mongodb 中时,它成功存储,但是,当我尝试从我的数据库中获取数据时,我在调试选项卡上收到以下错误:MongoError: limit requires an integer
这是我的节点:
[{"id":"845a2d0f.f529f","type":"debug","z":"175fe64a.2e87ba","name":"","active":true,"console":"false","complete":"false","x":698,"y":118,"wires":[]},{"id":"37b967b4.5953a8","type":"http in","z":"175fe64a.2e87ba","name":"/iot request","url":"/iot","method":"get","swaggerDoc":"","x":229.9517059326172,"y":314.0511169433594,"wires":[["70d77b6c.c2f234"]]},{"id":"70d77b6c.c2f234","type":"mongodb in","z":"175fe64a.2e87ba","mongodb":"5b5bee5b.f2593","name":"retrieve hello","collection":"test","operation":"find","x":472.9545593261719,"y":356.5880432128906,"wires":[["3b3c5324.f2f78c"]]},{"id":"3b3c5324.f2f78c","type":"http response","z":"175fe64a.2e87ba","name":"show hello","x":760.960205078125,"y":311.91192626953125,"wires":[]},{"id":"ac92efad.22272","type":"mqtt in","z":"175fe64a.2e87ba","name":"get outtemp","topic":"/sensors/esp0/temp0","qos":"2","broker":"fd4c9ee3.0aa1a","x":193,"y":118,"wires":[["845a2d0f.f529f","63a9e917.39f568"]]},{"id":"63a9e917.39f568","type":"mongodb out","z":"175fe64a.2e87ba","mongodb":"5b5bee5b.f2593","name":"store temp","collection":"test","payonly":true,"upsert":false,"multi":false,"operation":"store","x":406,"y":219,"wires":[]},{"id":"5b5bee5b.f2593","type":"mongodb","z":"","hostname":"127.0.0.1","port":"27017","db":"testdb","name":""},{"id":"fd4c9ee3.0aa1a","type":"mqtt-broker","z":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"200","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]
我是一个完全的初学者,同时拥有 node red 和 mongodb,对 mqtt 有一些经验。
我该如何解决这个问题?
最佳答案
经过knolleary的指点,找到了This post on the node-red mail list .
所以这就是我必须做的:
add a function before mongodb find block and enter in this function:
msg.limit = 5;
msg.skip = 0;
return msg;
关于mongodb - 节点 red MongoDB limit 需要整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033922/
当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/
我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?
有没有一种简单的方法可以将给定的整数格式化为具有固定长度和前导零的字符串?#convertnumberstostringsoffixedlength3[1,12,123,1234].map{|e|???}=>["001","012","123","234"]我找到了解决方案,但也许还有更聪明的方法。format('%03d',e)[-3..-1] 最佳答案 如何使用%1000而不是进行字符串操作来获取最后三位数字?[1,12,123,1234].map{|e|format('%03d',e%1000)}更新:根据theTinMan的
我有很多这样的文档:foo_1foo_2foo_3bar_1foo_4...我想通过获取foo_[X]的所有实例并将它们中的每一个替换为foo_[X+1]来转换它们。在这个例子中:foo_2foo_3foo_4bar_1foo_5...我可以用gsub和一个block来做到这一点吗?如果不是,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以暴力破解它,但我觉得有一些正则表达式技巧值得学习。 最佳答案 我(完全)不懂Ruby,但类似这样的东西应该可以工作:"foo_1foo_2".gsub(/(foo_)(\d+)/
我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(如Hipmunk)。假设我想去度假。我想要最便宜的地方、最好的评论和最多的景点。但是,显然我找不到在所有3个中都排名第一的方法。Example(assumingthereare20importantattractions):ResortA:$150/night...98/100infavorablereviews...18of20attractionsResortB:$99/night...85/100infavorablereviews...12of20attractionsResortC:$120/night
修改(澄清问题)我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息;但是,我遇到了一堵又一堵砖墙。据我所知,主要问题如下。我可以使用Chrome的检查元素工具手动查找我需要的html-它似乎位于iframe中。但是,当我尝试抓取该iframe时,它是空的(属性除外):如果我使用浏览器的“查看页面源代码”工具,这与我看到的输出相同。我不明白为什么我看不到iframe中的数据。答案不是它是由AJAX之后添加的。(我知道这既是因为“查看页面源代码”可以读取Ajax添加的数据,也是因为我有b/c我一直等到我可以看到数据页面之后才抓取它,但它仍然不存在)。发生这种情况是因为
问题1:我无法通过以下方式找到将负整数转换为二进制的方法。我应该像这样转换它。-3=>"11111111111111111111111111111101"我在下面试过:sprintf('%b',-3)=>"..101"#..appearsanddoesnotshow111111bit.-3.to_s(2)=>"-11"#Thisjustadds-tothebinaryofthepositiveinteger3.问题2:有趣的是,如果我使用在线转换器,它告诉我-3的二进制是“0010110100110011”。"11111111111111111111111111111101"和"001
这个问题在这里已经有了答案:HashsyntaxinRuby[duplicate](1个回答)关闭5年前。我有一个Recipe,其中包含以下未通过lint测试的代码:service'apache'dosupports:status=>true,:restart=>true,:reload=>trueend失败并出现错误:UsethenewRuby1.9hashsyntax.supports:status=>true,:restart=>true,:reload=>true不确定新语法是什么样的...有人可以帮忙吗?