MongoDB 使用表达式对数组中的数组对象进行排序 - .NET 驱动程序

时间:2021-06-15 19:26:22

标签: mongodb-.net-driver

我正在研究一个用例,就像这样https://dba.stackexchange.com/questions/256185/mongodb-sort-array-objects-within-array-using-expression

接受的答案完美无缺。 但是,我不明白如何使用 .net 驱动程序重新创建此查询。

谁能指导我实现 .net 驱动程序?

var INPUT_EXPRESSION = "fname";    // values can be "fname", "city" or "lname" 
var SORT_ORDER = 1;    // values can be 1 (ascending) or -1 (descending)

db.test.aggregate( [
  { 
      $addFields: { 
          customFieldTemp: {
              $filter: {
                   input: "$customFieldArray",
                      as: "arr",
                    cond: {
                             $eq: [ "$$arr.custom_field_id", INPUT_EXPRESSION ]
                    }
              }
          }
      } 
  },
  { 
      $addFields: { 
          customFieldTemp: { $arrayElemAt: [ "$customFieldTemp", 0 ] }
      } 
  },
  { 
      $sort: { "customFieldTemp.field_value" : SORT_ORDER } 
  },
  { 
      $project: { customFieldTemp: 0 } 
  }
] )

感谢提供原始 mongo 查询解决方案的 @prasad_。

0 个答案:

没有答案