MongoDB中Array数组的项目元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB中Array数组的项目元素相关的知识,希望对你有一定的参考价值。

我目前正在努力搜索导入MongoDB指南针的JSON文件中的数组数组。在下面的代码中,您可以看到数组“track”包含多个其他数组。现在我想获得每个数组的第4个值,例如,我想从第一个“加载”,从第二个“鼠标悬停”等等......

{
"name":"nutzer1_50ms",
"ip":"::1",
"date":"Sat, 16 Dec 2017 21:53:19 +0100",
"screen":"1920x1080",
"window":"1920x966",
"document":"1024x786",
"track":[
[1513457569930,0,0,"load",""],
[1513457569953,79,229,"mouseover","p3"],
[1513457570274,79,228,"mousemove","p3"],
[1513457570280,79,226,"mousemove","p3"],
["end","end","end","end"]]
}

我很乐意得到一些帮助:)

答案

您可以尝试以下聚合查询。

$map迭代track值和$arrayElemAt来投射数组中的第4个元素。

db.collection_name.aggregate([
  {
    "$project": {
      "4th": {
        "$map": {
          "input": "$track",
          "as": "track",
          "in": {
            "$arrayElemAt": [
              "$$track",
              3
            ]
          }
        }
      }
    }
  }
])

以上是关于MongoDB中Array数组的项目元素的主要内容,如果未能解决你的问题,请参考以下文章

删除内部字段数组 MongoDb 的元素 [重复]

MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数

如何获取常见的数组元素mongodb

mongodb 查询求助,嵌套数组里面查东西

MongoDB - 仅投影数组中的匹配元素

MongoDB - 仅投影数组中的匹配元素