从Mongo DB中读取“ _t”字段

时间:2018-08-06 13:39:27

标签: c# .net mongodb

在这种情况下:

[BsonDiscriminator(RootClass = true)]
[BsonKnownTypes(typeof(Child), typeof(Sibling))]
public class Parent { ... }

public class Child : Parent { ... }

public class Sibling : Parent { ... }

假设在同一个集合中保存了3个类,是否可以使用基于_t类(Parent)的集合读取从MongoDB生成的database.GetCollection<Parent>字段?

注意:我试图将string []数组放入Parent类中,但是字段_t返回null

1 个答案:

答案 0 :(得分:1)

根据documentation,您可以像这样进行过滤:

var filter = new BsonDocument("_t", "Cat");

您还可以使用LINQ OfType<Type>将列表过滤为仅一种类型,或者可以测试C#对象类型来确定要执行的操作。

我不知道您是否可以直接“读取”字符串,但是C#中也提供了类型信息,所以我看不到您的需要。