在互联网上搜索如何检索 MongoDB 中的字段子集,使用 C# 官方驱动程序(但使用 LinQ 作为基本架构)我发现如何在 MongoDB shell 中执行此操作。

// selecting only "field" of a collection
db.collection.find( { field : 'value' }, { field: 1 } );

然后,我在C#LinQ教程中找到了Select方法,相当于:
collection.AsQueryable<T>().Select(x => new { x.field });

但是,教程说该方法“用于从匹配的文档中投影新的结果类型”。

如何确保此方法仅检索字段的子集而不是整个结果,然后仅将子集选入新对象?

驱动程序会在检索结果之前构建查询命令吗?

最佳答案

驱动程序当前不检索字段的子集。如果您需要该功能,则需要手动完成。此功能的票证在这里: https://jira.mongodb.org/browse/CSHARP-456 。如果您需要,请随时留下反馈或投票。

关于c# - MongoDB LinQ "Select"方法真的只会检索字段的子集吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11514084/

10-16 14:27