Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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
C# MongoDB使用C驱动程序查找数组第n个元素的不同值_C#_Mongodb - Fatal编程技术网

C# MongoDB使用C驱动程序查找数组第n个元素的不同值

C# MongoDB使用C驱动程序查找数组第n个元素的不同值,c#,mongodb,C#,Mongodb,假设我有一个包含以下文档的集合: { id: 1, values: [ 1, 6, 3, 9 ] } { id: 2, values: [ 2, 1, 2, 4 ] } { id: 3, values: [ 3, 2, 3, 2 ] } { id: 4, values: [ 4, 4, 3, 6 ] } { id: 5, values: [ 5, 8, 2, 9 ] } 我想在集合上执行Select distinct in values[2]。 结果将是: [ 3, 2 ] 如何使用C驱动程

假设我有一个包含以下文档的集合:

{ id: 1, values: [ 1, 6, 3, 9 ] }
{ id: 2, values: [ 2, 1, 2, 4 ] }
{ id: 3, values: [ 3, 2, 3, 2 ] }
{ id: 4, values: [ 4, 4, 3, 6 ] }
{ id: 5, values: [ 5, 8, 2, 9 ] }
我想在集合上执行Select distinct in values[2]。 结果将是:

[ 3, 2 ]
如何使用C驱动程序实现这一点


谢谢

根据注释进行编辑:

从第2列中获取不同的值:

collection.AsQueryable<Model>().Select(x => x.Values[2]).Distinct();
从第2行获取不同的值:

collection.AsQueryable<Model>().Skip(2).Take(1).Select(x => x.Values).Distinct();

到目前为止你试着做什么?您对如何执行这些操作做了哪些研究?您的现有实现或研究结果存在哪些问题?我正在为复杂数据设计一个数据模型,因此我想知道这些操作是否可以在mongodb上高效执行。如果不是,我将更改模型或db。按照我理解OP的方式,他希望得到一组索引为2的列值,而不是行值,可以这么说。不幸的是,这个例子是不明确的,因为第三行和第三列都有相同的一组不同的值……在第一个例子中,如果我在选择投影之前需要一个Where,它是在MongoDB上执行的,还是Where将检索其所有结果,然后在本地执行不同的呢?