Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Mongodb c#驱动程序聚合输出_C#_Mongodb - Fatal编程技术网

Mongodb c#驱动程序聚合输出

Mongodb c#驱动程序聚合输出,c#,mongodb,C#,Mongodb,我使用C#driver for MongoDb的fluent api编写了一个聚合查询,我希望将结果插入到集合中。为此,有输出聚合管道阶段。它会自动为每个文档创建一个ObjectId,但我更喜欢使用文档中已有的int字段。可能吗 我尝试为聚合结果创建一个特定类: class MyResultClass { [BsonId] public int Key {get; set;} ... 聚合查询知道结果的类型,我放置了一个“项目”阶段,它以这种方式显式分配MyResultClass对象: Pro

我使用C#driver for MongoDb的fluent api编写了一个聚合查询,我希望将结果插入到集合中。为此,有输出聚合管道阶段。它会自动为每个文档创建一个ObjectId,但我更喜欢使用文档中已有的int字段。可能吗

我尝试为聚合结果创建一个特定类:

class MyResultClass {
[BsonId]
public int Key {get; set;}
...
聚合查询知道结果的类型,我放置了一个“项目”阶段,它以这种方式显式分配MyResultClass对象:

Project(el => new MyResultClass {Key = el => el.ProductID ...})

不幸的是,插入的文档有自己的ObjectId,因此我无法使用MyResultClass读取它们,MyResultClass指定了不同的\u id

,而不是
$out
尝试使用
$merge
阶段(它还创建了一个类似$out的输出集合,但具有更多功能)。您的聚合如何创建新的
\u id
(带整数值)?我要使用的整数值ProductID是前一个组阶段的关键