这些方法中的任何一种是否比另一种方法更适合使用适用于 C# 的 Mongo Db 驱动程序进行查询

本文关键字:方法 Mongo 适用于 Db 查询 驱动程序 任何一 是否 另一种 | 更新日期: 2023-09-27 18:34:56

这些方法中的任何一种是否比另一种方法更适合使用 Mongo Db Driver for C# 进行查询?

var partsLogs = MvcApplication.MongoLoggingDatabase.GetCollection("PartDetailLog"( .查找全部((

           .Where(x => x.UserId == UserId)
           .Select(x => new RecentActivityPartsLogDto { OemCode = x.Request.OemCode, OemPartCode = x.Request.OemPartCode, OemPartDescription = x.Request.OemPartDescription, TimeStamp = x.TimeStamp, UserId = x.UserId.ToString() })
           .OrderByDescending(x => x.TimeStamp)
           .Skip(pageSize * (page - 1))
           .Take(pageSize);

var doc = new QueryDocument((; doc["UserId"] = UserId;

var partsLogs = MvcApplication.MongoLoggingDatabase.GetCollection("PartDetailLog"(

 .Find(doc)              
           .Select(x => new RecentActivityPartsLogDto { OemCode = x.Request.OemCode, OemPartCode = x.Request.OemPartCode, OemPartDescription = x.Request.OemPartDescription, TimeStamp = x.TimeStamp, UserId = x.UserId.ToString()})
           .OrderByDescending(x => x.TimeStamp)
           .Skip(pageSize*(page - 1))
           .Take(pageSize);

是否有其他建议可以改进此查询?

这些方法中的任何一种是否比另一种方法更适合使用适用于 C# 的 Mongo Db 驱动程序进行查询

第一个将拉回每个文档并过滤它在客户端,第二个将过滤文档服务器端,只拉回匹配的文档。 使用第二个。