无法从数据库中检索值

Unable to retrieve value from database

有这么一个数据结构
(比如我给3个元素,其实有几百万个)

   '6444': [
    { TICKER: 'EURUSD' },
    { DTYYYYMMDD: '20030509' },
    { TIME: '142300' },
    { OPEN: '1.14888' },
    { HIGH: '1.14898' },
    { LOW: '1.14881' },
    { CLOSE: '1.14889' },
    { VOL: '835' }
  ],
  '6445': [
    { TICKER: 'EURUSD' },
    { DTYYYYMMDD: '20030509' },
    { TIME: '142400' },
    { OPEN: '1.14886' },
    { HIGH: '1.14893' },
    { LOW: '1.14874' },
    { CLOSE: '1.14892' },
    { VOL: '889' }
  ],
  '6446': [
    { TICKER: 'EURUSD' },
    { DTYYYYMMDD: '20030509' },
    { TIME: '142500' },
    { OPEN: '1.14886' },
    { HIGH: '1.14904' },
    { LOW: '1.14886' },
    { CLOSE: '1.14904' },
    { VOL: '772' }
  ]

为了从这个 table (`TRADING`) 和这个集合 (`EUR/USD`) 中至少提取一些值,我使用以下代码:
await client.connect();
const testingData = client.db('Trading').collection('EUR/USD');
const getSomeCurrencyData = await testingData.findOne({'6446': { VOL: '772' }});

问题:

  1. 为什么这个查询不能从数据库中检索值?

  2. 什么查询至少可以提取特定的内容?

  3. 为什么使用查询:

    testingData.findOne('6446': [ { 股票行情:'EURUSD' }, { DTYYYYMMDD: '20030509' }, {时间:'142500'}, { 打开: '1.14886' }, { 高: '1.14904' }, {低:'1.14886'}, {关闭:'1.14904'}, { 卷:'772' } ]);

结果,我得到了数据库中存在的所有值,而不仅仅是我指定的一个特定值?

  1. 首先简单地使用 ID 查找文档并确保您的数据库连接和集合选择有效。如果可行,请尝试这样查询
    const getSomeCurrencyData = await testingData.findOne({'6446.VOL': '772' });

  2. 如果以上建议可行,就可以了

  3. 与其传递数组来寻找匹配项,不如尝试这样。

    testingData.findOne({ "6446.TICKER": 'EURUSD', "6446.DTYYYYMMDD": '20030509', "6446.TIME": '142500', "6446.OPEN": '1.14886', "6446.HIGH": '1.14904', "6446.LOW": '1.14886', "6446.CLOSE": '1.14904', “6446.VOL”:'772' });