使用特定顺序在 mongoDB 中排序

gvk*_*gvk 8 c mongodb mongodb-.net-driver

Clients我目前正在寻找基于数组的特定顺序对子文档进行排序。

mongoDB的结构是

{
    "_id" : "1033",
    "Name" : "Test",
    "Clients" : [ 
        {
            "Id" : 1033,
            "Types" : [ 
                {
                    "Class" : "C",
                    "Service" : null
                },
                {
                    "Class" : "B",
                    "Service" : null
                }
            ]
        }, 
        {
            "Id" : 156136,
            "Types" : [ 
                {
                    "Class" : "A",
                    "Service" : null
                }, 
                {
                    "Class" : "B",
                    "Service" : null
                }, 
                {
                    "Class" : "C",
                    "Service" : null
                }, 
                {
                    "Class" : "D",
                    "Service" : null
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我需要基于类似数组的顺序显示上述文档[B, A, D, C]

这样输出将如下所示:

{
    "_id" : "1033",
    "Name" : "Test",
    "Clients" : [ 
        {
            "Id" : 1033,
            "Types" : [ 
                {
                    "Class" : "B",
                    "Service" : null
                },
                {
                    "Class" : "C",
                    "Service" : null
                }
            ]
        }, 
        {
            "Id" : 156136,
            "Types" : [ 
                {
                    "Class" : "B",
                    "Service" : null
                }, 
                {
                    "Class" : "A",
                    "Service" : null
                }, 
                {
                    "Class" : "D",
                    "Service" : null
                }, 
                {
                    "Class" : "C",
                    "Service" : null
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

您能帮我了解如何实现这一目标吗?

我目前正在使用 .Net 的 MongoDB 驱动程序

Mah*_*esh 5

可以通过此处指定的聚合进行自定义排序。


小智 0

MongoDB 中无法进行自定义排序。您可以按升序或降序排序。