我如何将这个mongo查询转换为一个查询.C#中的EQ语句?

db.users.find({name: 'Bob'}, {'_id': 1});

换句话说,我不希望所有的东西都返回到C#——只是我需要的一个元素,_id.一如既往,Mongo C# Driver tutorial没有帮助.

推荐答案

Update:对于新的驱动程序版本(1.6+),您可以通过使用linq来避免字段名称硬编码:

var users = usersCollection.FindAllAs<T>()
                           .SetFields(Fields<T>.Include(e => e.Id, e => e.Name));

您可以通过mongodb游标的SetFields方法来实现:

var users = usersCollection.FindAllAs<T>()
                 .SetFields("_id") // include only _id
                 .ToList();

默认情况下,SetFields包括指定的字段.如果需要排除某些字段,可以使用:

var users = usersCollection.FindAllAs<T>()
                 .SetFields(Fields.Exclude("_id")) // exclude _id field
                 .ToList();

或者您可以将它们结合使用:

var users = usersCollection.FindAllAs<T>()
                 .SetFields(Fields.Exclude("_id")   // exclude _id field
                                  .Include("name")) // include name field
                 .ToList();

Mongodb相关问答推荐

在MongoDB中,如何使用$in来匹配存储在数组变量中的值

如何根据两个 struct 创建一个Mongo文档?

筛选出嵌套数组中的记录Mongo DB聚合

我无法在react 中使用 fetch 和express 从数据库中删除数据

从MongoDB迁移到PostgreSQL:为PostgreSQL编写聚合管道查询

mongoDB文档数组字段中的唯一项如何

在 mongodb 聚合中的阶段之后输出具有序列数字 id 的新集合

Mongo查询子文档的多个字段

Mongoexport 在日期范围内使用 $gt 和 $lt 约束

MongoDB 的 BinData(0, "e8MEnzZoFyMmD7WSHdNrFJyEk8M=") 中的0是什么意思?

在 URL 中使用 ID(来自 mongo 的 ObjectId)是否安全?

为多个日期范围聚合 $group

MongoDB中超过2GB的数据库

如何确保基于特定字段的数组中的唯一项 - mongoDB?

如何使用 MongoDB 和 Mongoid 在 Rails 3 上进行适当的数据库测试 (TDD)

MongoDB Compass 过滤器(查询)

mongodb:upserting:仅在插入文档时设置值

我在更新中对 $set 和 $inc 做错了什么

MongoDB $elemMatch $in

Mongodb同时在多个字段上聚合(计数)