MongoDB 排序 BsonArray
在 C# 中,如果我有一个 BsonDocuments 的 BsonArray,并且我想根据每个 BsonDocument 中的元素对 BsonArray 元素进行排序,我该怎么做?
像这样的事情:
BsonArray originalTags = doc["tags"].AsBsonArray;
BsonArray newTags = originalTags.OrderBy(what goes here?);
我用它来对嵌套文档进行排序,所以我不能使用集合排序方法。 我正在使用官方 C# 驱动程序。
In C#, if I have a BsonArray of BsonDocuments and I want to sort the BsonArray elements based upon an element within each BsonDocument, how do I do it?
Something like this:
BsonArray originalTags = doc["tags"].AsBsonArray;
BsonArray newTags = originalTags.OrderBy(what goes here?);
I'm using this to sort nested documents, so I can't use the collection sort methods.
I'm using the official C# driver.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
OrderBy 是 LINQ(不是 C# 驱动程序)的扩展方法,它有两个重载。在一个中,您提供一个 lambda 来提取要排序的键,在另一个中,您还提供一个比较两个键的 lambda。
下面是一个基于名为“x”的嵌入元素的值对 BsonArray 进行排序的示例:
OrderBy is an extension method from LINQ (not the C# driver), and it has two overloads. In one you provide a lambda to extract the key you want to sort on, and in the other you additionally provide a lambda that compares two keys.
Here's an example that sorts a BsonArray based on the value of an embedded element called "x":