我正在研究一个用例,就像这样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_。