我有一个执行mongo查询的类 它的作品,但当我在查询中发送投影时,投影将无法正常工作 和mongo返回孔文件
这件事是什么?
query = new QueryDocument( BsonSerializer.Deserialize<BsonDocument>(queryStr));
queryStr="{family:'james'},{}" =>
确定
queryStr="{},{family:0}" =>
不行。返回所有列,但不想获得族列
请记住:只想要这种方法。不是另一种方法。因为想要发送任何查询到mongo。我已经读过像ORM这样的映射mongo对象了。
只想要这种方法。感谢
答案 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个单独的项目。 亲自