投影不会在mongodb c#driver中工作

时间:2015-07-22 12:24:58

标签: mongodb-.net-driver projection

我有一个执行mongo查询的类 它的作品,但当我在查询中发送投影时,投影将无法正常工作 和mongo返回孔文件

这件事是什么?

 query = new QueryDocument( BsonSerializer.Deserialize<BsonDocument>(queryStr));

queryStr="{family:'james'},{}" =>确定

queryStr="{},{family:0}" =>不行。返回所有列,但不想获得族列

请记住:只想要这种方法。不是另一种方法。因为想要发送任何查询到mongo。我已经读过像ORM这样的映射mongo对象了。

只想要这种方法。感谢

1 个答案:

答案 0 :(得分:0)

你有没有看过新的C# 2.0 driver documentation?看起来投影是您可以提供FindAsync

的options参数的一部分
private static void Find(IMongoCollection<Person> mongoCollection)
    {
        var query = Builders<Person>.Filter.Eq(p => p.Name, "bob");

        var options = new FindOptions<Person>()
        {
            Projection = Builders<Person>.Projection
                .Include(p => p.Name)
                .Exclude(p => p.Id)
        };

        var result = await mongoCollection.FindAsync(query, options);

...

在问题中从JSON {.A。} {.B。}创建的BsonDocument对象有2个大括号对,只有第一个对于(A)。这没关系,因为投影和查询是2个单独的项目。 亲自