Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MongoDB比较特定索引处的两个数组值_Javascript_Mongodb_Mongodb Query - Fatal编程技术网

Javascript MongoDB比较特定索引处的两个数组值

Javascript MongoDB比较特定索引处的两个数组值,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,我有一个MongoDB文档集,格式为 { "_id": { "$oid": "5f8a61df2f74ae5aed652d2e" }, "symbol": "AAPL", "adx": [], "sma": [], "time": [], "minusdmi

我有一个MongoDB文档集,格式为

{
    "_id": {
        "$oid": "5f8a61df2f74ae5aed652d2e"
    },
    "symbol": "AAPL",
    "adx": [],
    "sma": [],
    "time": [],
    "minusdmi": [],
    "plusdmi": []
}
如何返回“plusdmi”数组的最后一个元素大于“minusdmi”数组的最后一个元素的文档

我试过了

{$expr:{$gt: ["plusdmi.14", "minusdmi.14"]}}

但这似乎会返回所有文档。

您可以使用聚合框架来实现您的用例

使用运算符返回指定数组索引处的元素。 最后一个元素可以使用-1作为数组索引进行访问

db.collection.aggregate([
  {
    $match: {
      $expr: {
        $gt: [
          {
            $arrayElemAt: [
              "$plusdmi",
              -1
            ]
          },
          {
            $arrayElemAt: [
              "$minusdmi",
              -1
            ]
          }
        ]
      }
    }
  }
])