1

说我写了一个函数:

public static List<BsonDocument> MyFind(string collection, IMongoQuery query, IMongoSortBy sort, int skip)
{ ..etc..}

我可以很容易地传入值,例如:

list = MyFind("collectionname",Query.EQ("field","value"),SortBy.Ascending("field"), 0).ToList()

但是如果我在函数上添加另一个参数:IMongoFields 字段,那么函数看起来像:

public static List<BsonDocument> MyFind(string collection, IMongoQuery query, IMongoFields fields, IMongoSortBy sort, int skip)
{ ..etc..}

我在为“字段”传递值时遇到问题。我已经阅读了 MongoDB 驱动程序文档,但无法想象如何将值传递进去。是否有某种方法可以构建类似于您对 List 所做的字段名称?

4

1 回答 1

2

您正在寻找的是返回 IMongoFields 的流利静态类 Fields:

 MyFind("collectionName", Query.EQ("field", "value"),
               Fields.Include("field_a", "field_b").Exclude("excluded_field"), 
               SortBy.Null, 1);

不要伪造包含命名空间:

using MongoDB.Driver.Builders;
于 2012-06-03T15:28:41.610 回答