gpt4 book ai didi

node.js - 用 Node 读取 MongoDB

转载 作者:可可西里 更新时间:2023-11-01 09:38:58 26 4
gpt4 key购买 nike

我想查询一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com