使用C#选择MongoDB查询字段

本文关键字:查询 字段 MongoDB 选择 使用 | 更新日期: 2023-09-27 18:23:38

如何将此MongoDB查询转换为C#等价查询?

db.lists.find({_id: 10}, {planet_sizes: {$elemMatch: {id: 1}}})

我尝试了以下操作,但没有成功,这意味着它不会返回与我在外壳中得到的结果相同的结果:

  IMongoQuery searchQuery = Query.And(
             Query.EQ("_id", 10),
             Query.ElemMatch("planet_sizes",
             Query.EQ("id", 1)));

我想查询文档的主列表,提取id为10的文档,并从其数组中提取id等于1的数组项。我上面提供的MongoDB字符串查询在shell中工作,但我不知道如何在C#中编写等效的查询。提前谢谢。

使用C#选择MongoDB查询字段

在C#驱动程序中,字段选择通过链接到SetFields:的调用来处理

var docs = db.GetCollection("list")
    .Find(Query.EQ("_id", 10))
    .SetFields(Fields.ElemMatch("planet_sizes", Query.EQ("id", 1)))
    .ToList();

您可以始终使用linqhttp://docs.mongodb.org/ecosystem/tutorial/use-linq-queries-with-csharp-driver/还是只想使用MongoQuery?