草庐IT

node.js - 用 Node 读取 MongoDB

coder 2023-10-30 原文

我想查询一个 MongoDB 和 console.log 一些数据。此时,任何数据都可以。 MongoDB 中的记录有很多属性,但为了简单起见,我只引用一个;我不知道这是否会导致问题。另外,我的集合被命名为“数据”,而不是“数据”,所以我试图强制 Mongo 使用“数据”。集群:股票,集合:数据。

我意识到查询应该多么简单,但我还没有设法用 Node 从这个数据库打印任何东西。在此之前,我一直在使用 python 来填充数据库。

var mongoose = require('mongoose');
var url = 'mongodb://<user>:<password>@stocks-shard-00-00-rtpdz.mongodb.net:27017,stocks-shard-00-01-rtpdz.mongodb.net:27017,stocks-shard-00-02-rtpdz.mongodb.net:27017/test?ssl=true&replicaSet=stocks-shard-0&authSource=admin'

mongoose.connect(url, { useMongoClient: true })

var db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  // we're connected!
  var stockSchema = mongoose.Schema({
      Symbol: String
  });

  var data = mongoose.model('data', stockSchema);

  data.find(function (err, stocks) {
    if (err) return console.error(err);
    console.log(stocks);
  })
});

返回:

[]

这是一个示例记录,用 python 查询:

{u'Date': datetime.datetime(2017, 12, 22, 0, 0),
 u'Symbol': u'ADSK',
 u'_52w_high': u'-20.35%',
 u'_52w_low': u'41.88%',
 u'_52w_range': u'73.60 - 131.10',
 u'_id': ObjectId('5a3d22b24a579477f9f7ce91'),
 u'analystrec': u'2.00',
 u'atr': u'2.99',
 u'avg_vol': u'2.15M',
 u'beta': u'1.92',
 u'bookvalpershare': u'0.49',
 u'cashpershare': u'6.62',
 u'change': u'-0.01%',
 u'currratio': u'1.10',
 u'debt_to_eqty': u'14.78',
 u'dividend': u'-',
 u'earnings': u'Nov 28 AMC',
 u'employees': u'9000',
 u'eps': u'-2.57',
 u'eps_growth_nxt_y': u'1.22',
 u'eps_nxt_5y': u'26.00%',
 u'eps_nxt_q': u'-0.12',
 u'eps_nxt_yr': u'1.22',
 u'eps_past_5y': u'-32.80%',
 u'eps_qq': u'15.10%',
 u'eps_this_yr': u'-78.70%',
 u'finalAnswer': 2,
 u'finalQuote': 0,
 u'forwpe': u'85.32',
 u'gross_margin': u'84.20%',
 u'income': u'-566.80M',
 u'insider_trans': u'-28.35%',
 u'insiders_own': u'0.30%',
 u'inst_own': u'98.10%',
 u'inst_trans': u'1.13%',
 u'lt_debt_to_eqty': u'14.78',
 u'marketcap': u'22.93B',
 u'oper_margin': u'-24.90%',
 u'optionable': u'Yes',
 u'payout': u'-',
 u'pb': u'213.12',
 u'pc': u'15.77',
 u'pe': u'-',
 u'peg': u'-',
 u'perf_half_yr': u'-3.08%',
 u'perf_m': u'-18.23%',
 u'perf_q': u'-6.58%',
 u'perf_wk': u'-1.71%',
 u'perf_yr': u'38.08%',
 u'perf_ytd': u'41.10%',
 u'pfcf': u'-',
 u'prev_close': u'104.43',
 u'price': u'104.42',
 u'profit_margin': u'-18.23%',
 u'ps': u'11.57',
 u'quickratio': u'1.10',
 u'rel_vol': u'0.84',
 u'roa': u'-12.80%',
 u'roe': u'-136.20%',
 u'roi': u'-25.10%',
 u'rsi_14': u'31.00',
 u'sales': u'1.98B',
 u'sales_past_5y': u'-1.70%',
 u'sales_qq': u'5.20%',
 u'short_float': u'2.40%',
 u'short_ratio': u'2.45',
 u'shortable': u'Yes',
 u'shs_float': u'219.48M',
 u'shs_outst': u'219.60M',
 u'sma20': u'-5.51%',
 u'sma200': u'-2.34%',
 u'sma50': u'-11.46%',
 u'target_price': u'132.00',
 u'volatility': u'2.07% 2.67%',
 u'volume': u'212,785'}

最佳答案

  1. 设置 useMongoClient 选项,同时尝试使用 mongoose 连接 mongodb:

    mongoose.connect(url, { useMongoClient: true })

  2. 默认的 mongodb 集合名称是复数,所以这就是您的集合名称是 datas 而不是 data 的原因

关于node.js - 用 Node 读取 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47963135/

有关node.js - 用 Node 读取 MongoDB的更多相关文章

  1. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  2. Ruby 写入和读取对象到文件 - 2

    好的,所以我的目标是轻松地将一些数据保存到磁盘以备后用。您如何简单地写入然后读取一个对象?所以如果我有一个简单的类classCattr_accessor:a,:bdefinitialize(a,b)@a,@b=a,bendend所以如果我从中非常快地制作一个objobj=C.new("foo","bar")#justgaveitsomerandomvalues然后我可以把它变成一个kindaidstring=obj.to_s#whichreturns""我终于可以将此字符串打印到文件或其他内容中。我的问题是,我该如何再次将这个id变回一个对象?我知道我可以自己挑选信息并制作一个接受该信

  3. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  4. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  5. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

  6. ruby - 是否可以在不实际发送或读取数据的情况下查明 ruby​​ 套接字是否处于 ESTABLISHED 或 CLOSE_WAIT 状态? - 2

    s=Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0)s.connect(Socket.pack_sockaddr_in('port','hostname'))ssl=OpenSSL::SSL::SSLSocket.new(s,sslcert)ssl.connect从这里开始,如果ssl连接和底层套接字仍然是ESTABLISHED,或者它是否在默认值7200之后进入CLOSE_WAIT,我想检查一个线程几秒钟甚至更糟的是在实际上不需要.write()或.read()的情况下关闭。是用select()、IO.select()还是其他方法完成

  7. ruby - 如何从 ARGF 读取 csv - 2

    在Ruby1.9中,我如何从ARGF中读取CSV?我尝试了以下方法,但没有打印任何内容:require'csv'CSV(ARGF).readdo|row|prowendhttp://www.ruby-doc.org/core-1.9.3/ARGF.htmlhttp://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html 最佳答案 如果你想偷懒你可以试试:CSV.new(ARGF.file).eachdo|row|...end来源:http://www.ruby-doc.org/std

  8. Ruby:写入 stdin 并从 stdout 读取? - 2

    我正在编写一个ruby​​程序,它应该执行另一个程序,通过stdin向它传递值,从它的stdout读取响应,然后打印响应。这是我目前所拥有的。#!/usr/bin/envrubyrequire'open3'stdin,stdout,stderr=Open3.popen3('./MyProgram')stdin.puts"helloworld!"output=stdout.readerrors=stderr.readstdin.closestdout.closestderr.closeputs"Output:"puts"-------"putsoutputputs"\nErrors:"p

  9. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  10. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

随机推荐