Mongodb 基于数组索引获取嵌套文档

Mongodb 基于数组索引获取嵌套文档,mongodb,mongoose,Mongodb,Mongoose,我有一个mongodb集合,该集合中的每个文档都包含一个不同文档类型的数组 例: 如果您看到上面的集合和AnArray字段的第一个元素,您将看到两个文档数组中的元素索引1具有相同的值:SomeValue1,ID:1 我要做的是,从所有文档数组的第一个元素中获取所有不同的值 我不知道该怎么做,也不知道该问谷歌什么,所以我在这里补充这个问题 我在mongodb中使用mongoose,没有找到任何方法可以帮助我做到这一点 非常感谢您的帮助。您可以使用mongo聚合管道获得结果 $arrayElemAt

我有一个mongodb集合,该集合中的每个文档都包含一个不同文档类型的数组

例:

如果您看到上面的集合和AnArray字段的第一个元素,您将看到两个文档数组中的元素索引1具有相同的
值:SomeValue1,ID:1

我要做的是,从所有文档数组的第一个元素中获取所有不同的值

我不知道该怎么做,也不知道该问谷歌什么,所以我在这里补充这个问题

我在mongodb中使用mongoose,没有找到任何方法可以帮助我做到这一点


非常感谢您的帮助。

您可以使用mongo聚合管道获得结果

$arrayElemAt
可用于从数组中获取第n个元素

聚合查询:

db.sample.aggregate([
    {$project : {arr_0_value : {$arrayElemAt : ['$AnArray',0]}}},
    {$project : {arr_value:'$arr_0_value.value'}},
    {$group : {_id:'$arr_value'}}
])
输出:

{ "_id" : "SomeValue1" }
{ "_id" : "SomeValue5" }
{ "_id" : "SomeValue1" }
{ "_id" : "SomeValue5" }