C# 我可以在查找和释放集合后映射从MongoDB获取的数据吗

C# 我可以在查找和释放集合后映射从MongoDB获取的数据吗,c#,mongodb,mongodb-query,aggregation-framework,mongodb-.net-driver,C#,Mongodb,Mongodb Query,Aggregation Framework,Mongodb .net Driver,类定义和错误如上所述。查询结果如下 集合是database.GetCollection().Aggregate();(IAggregateFluent) MongodbQuery: { "aggregate": "Survey", "pipeline": [ { "$lookup": { "from": "SurveyPart",








类定义和错误如上所述。查询结果如下

集合是
database.GetCollection().Aggregate();(IAggregateFluent)

MongodbQuery:

{
  "aggregate": "Survey",
  "pipeline": [
    {
      "$lookup": {
        "from": "SurveyPart",
        "localField": "_id",
        "foreignField": "SurveyId",
        "as": "SurveyParts"
      }
    },
    {
      "$unwind": {
        "path": "$SurveyParts",
        "preserveNullAndEmptyArrays": true
      }
    },
    {
      "$lookup": {
        "from": "SurveyPartQuestion",
        "localField": "SurveyParts._id",
        "foreignField": "SurveyPartId",
        "as": "SurveyParts.SurveyPartQuestions"
      }
    },
    {
      "$unwind": {
        "path": "$SurveyParts.SurveyPartQuestions",
        "preserveNullAndEmptyArrays": true
      }
    },
    {
      "$lookup": {
        "from": "SurveyPartQuestionAnswer",
        "localField": "SurveyParts.SurveyPartQuestions._id",
        "foreignField": "SurveyPartQuestionId",
        "as": "SurveyParts.SurveyPartQuestions.SurveyPartQuestionAnswers"
      }
    },
    {
      "$unwind": {
        "path": "$SurveyParts.SurveyPartQuestions.SurveyPartQuestionAnswers",
        "preserveNullAndEmptyArrays": true
      }
    },
    {
      "$match": {
        "IsDeleted": false
      }
    },
    {
      "$sort": {
        "_id": -1
      }
    },
    {
      "$skip": 0
    },
    {
      "$limit": 50
    }
  ]
}
[
      {
        "_id": 1,
        "CreatedOn": "",
        "ModifiedOn": "",
        "CreatedBy": 1,
        "ModifiedBy": 1,
        "OwningUser": 1,
        "StatusCode": 1,
        "IsDeleted": false,
        "Name": "TEST SURVEY",
        "Description": "TEST SURVEY DESCRIPTION",
        "SurveyParts": {
          "_id": 1,
          "CreatedOn": "",
          "ModifiedOn": "",
          "CreatedBy": 1,
          "ModifiedBy": 1,
          "OwningUser": 1,
          "StatusCode": 1,
          "IsDeleted": false,
          "Name": "TEST PART",
          "Description": "TEST PART DESCRIPTION",
          "Order": 1,
          "SurveyId": 1,
          "SurveyPartQuestions": {
            "_id": 1,
            "CreatedOn": "",
            "ModifiedOn": "",
            "CreatedBy": 1,
            "ModifiedBy": 1,
            "OwningUser": 1,
            "StatusCode": 1,
            "IsDeleted": false,
            "Name": "TEST QUESTION",
            "Description": "TEST QUESTION DESCRIPTION",
            "ReferenceCode": "TEST REFERENCE",
            "Type": "RADIO",
            "Order": 1,
            "IsRequired": true,
            "SurveyPartId": 1,
            "SurveyPartQuestionAnswers": {
              "_id": 1,
              "CreatedOn": "",
              "ModifiedOn": "",
              "CreatedBy": 1,
              "ModifiedBy": 1,
              "OwningUser": 1,
              "StatusCode": 1,
              "IsDeleted": false,
              "Name": "TEST ANSWER",
              "Hint": "TEST ANSWER HINT",
              "Tag": "TEST TAG",
              "IsTextField": true,
              "Order": 1,
              "SurveyPartQuestionId": 1
            }
          }
        }
      }
    ]
MongoDb结果:

{
  "aggregate": "Survey",
  "pipeline": [
    {
      "$lookup": {
        "from": "SurveyPart",
        "localField": "_id",
        "foreignField": "SurveyId",
        "as": "SurveyParts"
      }
    },
    {
      "$unwind": {
        "path": "$SurveyParts",
        "preserveNullAndEmptyArrays": true
      }
    },
    {
      "$lookup": {
        "from": "SurveyPartQuestion",
        "localField": "SurveyParts._id",
        "foreignField": "SurveyPartId",
        "as": "SurveyParts.SurveyPartQuestions"
      }
    },
    {
      "$unwind": {
        "path": "$SurveyParts.SurveyPartQuestions",
        "preserveNullAndEmptyArrays": true
      }
    },
    {
      "$lookup": {
        "from": "SurveyPartQuestionAnswer",
        "localField": "SurveyParts.SurveyPartQuestions._id",
        "foreignField": "SurveyPartQuestionId",
        "as": "SurveyParts.SurveyPartQuestions.SurveyPartQuestionAnswers"
      }
    },
    {
      "$unwind": {
        "path": "$SurveyParts.SurveyPartQuestions.SurveyPartQuestionAnswers",
        "preserveNullAndEmptyArrays": true
      }
    },
    {
      "$match": {
        "IsDeleted": false
      }
    },
    {
      "$sort": {
        "_id": -1
      }
    },
    {
      "$skip": 0
    },
    {
      "$limit": 50
    }
  ]
}
[
      {
        "_id": 1,
        "CreatedOn": "",
        "ModifiedOn": "",
        "CreatedBy": 1,
        "ModifiedBy": 1,
        "OwningUser": 1,
        "StatusCode": 1,
        "IsDeleted": false,
        "Name": "TEST SURVEY",
        "Description": "TEST SURVEY DESCRIPTION",
        "SurveyParts": {
          "_id": 1,
          "CreatedOn": "",
          "ModifiedOn": "",
          "CreatedBy": 1,
          "ModifiedBy": 1,
          "OwningUser": 1,
          "StatusCode": 1,
          "IsDeleted": false,
          "Name": "TEST PART",
          "Description": "TEST PART DESCRIPTION",
          "Order": 1,
          "SurveyId": 1,
          "SurveyPartQuestions": {
            "_id": 1,
            "CreatedOn": "",
            "ModifiedOn": "",
            "CreatedBy": 1,
            "ModifiedBy": 1,
            "OwningUser": 1,
            "StatusCode": 1,
            "IsDeleted": false,
            "Name": "TEST QUESTION",
            "Description": "TEST QUESTION DESCRIPTION",
            "ReferenceCode": "TEST REFERENCE",
            "Type": "RADIO",
            "Order": 1,
            "IsRequired": true,
            "SurveyPartId": 1,
            "SurveyPartQuestionAnswers": {
              "_id": 1,
              "CreatedOn": "",
              "ModifiedOn": "",
              "CreatedBy": 1,
              "ModifiedBy": 1,
              "OwningUser": 1,
              "StatusCode": 1,
              "IsDeleted": false,
              "Name": "TEST ANSWER",
              "Hint": "TEST ANSWER HINT",
              "Tag": "TEST TAG",
              "IsTextField": true,
              "Order": 1,
              "SurveyPartQuestionId": 1
            }
          }
        }
      }
    ]

我需要一次在根类上映射它们。如何从该聚合中释放数据?是否可能?我为这个错误花费了太多时间,但我找不到任何关于它的信息。

我刚刚发现了我的错误,unwind将数组映射到一个对象,而它不再映射。我放弃了从mongodb获取嵌套数据,我将它从entityframework获取到mongod,在此之后,我将一次性获取所有数据。这只是解决我的问题。但我仍然很好奇:)我刚刚发现了我的错误,unwind将数组映射到一个对象,它不再映射了。我放弃了从mongodb获取嵌套数据,我将它从entityframework获取到mongod,在此之后,我将一次性获取所有数据。这只是解决我的问题。但我仍然对这样做感到好奇:)