c# - Mongodb -- 使用 c# 驱动程序包含或排除某些元素

标签 c# mongodb mongodb-.net-driver

如何将此 mongo 查询转换为 C# 中的 Query.EQ 语句?

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

换句话说,我不希望将所有内容都返回到 C# —— 只需要我需要的一个元素,_id。与往常一样,Mongo C# Driver tutorial没有帮助。

最佳答案

更新:使用新的驱动程序版本(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();

关于c# - Mongodb -- 使用 c# 驱动程序包含或排除某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8448179/

相关文章:

c# - WPF 和 Prism 的通用对话框窗口

c# - 匹配 STRING 或 STRING 之前的所有内容

mysql - 哪些数据库即服务提供商(最好是 Mongo 或 MySQL 数据源)提供用于以 JSON 形式检索数据的 REST API?

mongodb - 这两个 mongo "queries"有什么区别?

c# - 使用 C# 从 MongoDB 获取继承的实例

c# - 为什么 GetWindowRect 在我的 WPF 窗口中包含标题栏?

node.js - 模块函数在nodejs中返回未定义

mongodb .net 驱动程序 V2 : How to do array operations

C# MongoDB 按日期分组(聚合)

c# - 无法将 CloudTask 添加到 Azure Batch