如何在 MongoDb 驱动程序的列表中包含特定字段

Posted

技术标签:

【中文标题】如何在 MongoDb 驱动程序的列表中包含特定字段【英文标题】:How to make Include specific field in IList in MongoDbDriver 【发布时间】:2021-12-21 17:52:46 【问题描述】:

我想了解如何在 MongoDBdriver 中包含 List 中的特定字段(任何解决方案)

当我尝试包含一些属性时 例如:

  var projection = Builders <SomeClass> .Projection
  .Include (x => x.Id)

它的工作没有任何问题。

但是当我尝试从工作表中包含特定字段时

 var projection = Builders <SomeClass> .Projection
.Include (x => x.ListOfSomeClasses.Select (x => x.SomeProperty))

我得到了这个异常

  Error occurred during request execution
System.InvalidOperationException: Unable to determine the serialization information for x => x.ListOfSomeClasses.Select (x => x.SomeProperty).

在此之前,我使用过 postgres,那里没有这样的问题。

也许在 Mongo 中存在一些问题。任何答案都对我很有帮助。谢谢

【问题讨论】:

【参考方案1】:

c# 驱动程序允许对类型化方式不支持的 LINQ 查询使用原始 MQL:

var projection = Builders<SomeClass>.Projection
   .Include("ListOfSomeClasses.SomeProperty");

【讨论】:

你的上帝!我怎么没想到.. 如果有帮助,请将问题标记为已解决,以减少对它的关注

以上是关于如何在 MongoDb 驱动程序的列表中包含特定字段的主要内容,如果未能解决你的问题,请参考以下文章

隐藏Chrome开发者控制台中包含特定字词的错误

如何在 Nodejs 和 Mongodb 中包含搜索

显示 MySQL 中包含相同值(特定值)的所有行

如何在复杂项目中包含属性文件

错误:未加载mongodb.jdbc.MongoDriver。您确定在jdbc_driver_library中包含了正确的jdbc驱动程序吗?

如何在 Maven 生成的 jar 中包含特定文件夹?