VB.net中使用MongoDB C#驱动实现降序排序获取最后10条数据的语法求助
VB.net 使用MongoDB C#驱动获取集合最后10条数据的正确语法
你之前的写法错误在于没有为Builders指定泛型类型,VB.net中使用MongoDB的Builders类必须明确指定对应文档类型的泛型参数。
修正后的完整代码如下:
Dim collection As IMongoCollection(Of BsonDocument) = database_name.GetCollection(Of BsonDocument)("sys_rawdata") Dim Filter = New BsonDocument() ' 先按timestamp降序排序,再取前10条(即原集合的最后10条) For Each item2 As BsonDocument In collection.Find(Filter).Sort(Builders(Of BsonDocument).Sort.Descending("timestamp")).Limit(10).ToList Dim timestamp As BsonElement = item2.GetElement("timestamp") Dim hostname As BsonElement = item2.GetElement("hostname") Dim objItem As ListViewItem objItem = lv1.Items.Add(hostname.Value.ToString) With objItem .SubItems.Add(timestamp.Value.ToString) End With Next
关键修正点:
- 将
Builders.Sort.Descending改为Builders(Of BsonDocument).Sort.Descending,明确指定泛型类型为BsonDocument - 排序后调用
Limit(10),确保只获取排序后的前10条数据(也就是原集合的最后10条)
内容的提问来源于stack exchange,提问作者Senthil k
相关产品推荐
相关产品推荐

