gpt4 book ai didi

c# - MapReduce输出C#读取mongoDB

转载 作者:可可西里 更新时间:2023-11-01 10:01:26 26 4
gpt4 key购买 nike

public class myType
{
public int key1;
public int key2;
public int val1;
public int val2;
public int val3;
};

当我将 myType 对象插入集合时,读取没有问题。只是:

collection.FindAs<myType>(query);

获取对象:

"key1":key1, "key2":key2, "val1":val1, "val2":val2, "val3":val3

但是在 mapreduce 之后(键被构造为两个字段的组合)输出集合的结构略有修改。有点像

"_id" {"key1" : key1, "key2": key2}, "value" : {"val1":val1, "val2":val2, "val3":val3}

从输出集合中读取对象的方法是什么?

最佳答案

获得输出集合后,您可以像查询任何其他集合一样查询它。但是,由于结构不同,您将无法使用相同的 C# 类来执行此操作。因此,您要么需要将其作为 BsonDocument 来阅读,要么创建如下几个新类:

public class Keys
{
[BsonElement("key1")]
public int Key1;
[BsonElement("key2")]
public int key2;
}

public class values
{
[BsonElement("val1")]
public int Val1;
[BsonElement("val1")]
public int Val2;
[BsonElement("val1")]
public int Val3;
}

public class MapReduceOutput
{
[BsonId]
public Keys Keys;
[BsonElement("values")]
public Values Values;
}

然后你可以这样做:

collection.FindAs<MapReduceOutput>(query);

希望这对您有所帮助。

关于c# - MapReduce输出C#读取mongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10529285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com