IPage.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using CZFW.Framework.Model.ViewModel;
  2. using MongoDB.Bson;
  3. using MongoDB.Driver;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. namespace CZFW.MDB
  8. {
  9. public interface IPage
  10. {
  11. /// <summary>
  12. /// 通过表的schemaId获取列表
  13. /// </summary>
  14. /// sid 网站id
  15. /// <param name="pageKey"></param>
  16. /// <param name="type"></param>
  17. /// <param name="query"></param>
  18. /// <param name="projection"></param>
  19. /// <param name="pageIndex"></param>
  20. /// <param name="pageSize"></param>
  21. /// <param name="sort"></param>
  22. /// <param name="userCusor"></param>
  23. /// <returns></returns>
  24. BsonArray GetList(string sid, string pageKey, string type, string query = "{}", string projection=null, int pageIndex = 1, int pageSize = 20, string sort = "{}", bool userCusor = false);
  25. BsonDocument Get(string pageKey, string dataKey, string type, string projection = null);
  26. BsonDocument GetByName(string pageName, string dataKey, string type, string projection = null);
  27. BsonDocument GetOne(string sid, string pageKey, string query, string type, string projection = null, string sort="{}");
  28. BsonDocument GetOneByName(string sid, string pageName, string query = "{}", string projection = "{}", string sort="{}");
  29. long GetCount(string sid, string pageName, string query = "{}");
  30. /// <summary>
  31. /// 通过表名获取列表
  32. /// </summary>
  33. /// sid 网站Id
  34. /// <param name="pageName"></param>
  35. /// <param name="type">要获取的projection的类型。 对应schema下面的template下面的模板。该字段和projection功能一致。
  36. /// 只需要使用一个字段。如果都传入非空,则以projection优先。如果projection为null,则以type为准</param>
  37. /// <param name="query"></param>
  38. /// <param name="projection"></param>
  39. /// <param name="pageIndex"></param>
  40. /// <param name="pageSize"></param>
  41. /// <param name="sort"></param>
  42. /// <param name="useCusor"></param>
  43. /// <returns></returns>
  44. BsonArray GetListByName(string sid,string pageName, string type=null, string query = "{}", string projection = "{}", int pageIndex = 1, int pageSize = 20, string sort = "{}", bool useCusor = false);
  45. //获取当前查询对应表。通常是在查询过程中该表被设置。
  46. IMongoCollection<BsonDocument> GetCurrentTable();
  47. /// <summary>
  48. /// 按条件随机获取相关记录
  49. /// </summary>
  50. /// <param name="sid">siteName</param>
  51. /// <param name="pageName">表名,内部不做模板名称处理</param>
  52. /// <param name="excludeId">需要排除的Id,通常是当前记录本身的Id</param>
  53. /// <param name="query">查询条件</param>
  54. /// <param name="projection">返回字段</param>
  55. /// <param name="size">获取数据的条数</param>
  56. /// <returns></returns>
  57. BsonArray GetRelated(string sid, string pageName, string excludeId = null, string query = "{}", string projection = "{}", int size = 4);
  58. ResultModel Inc(string pageName, string key, string field, int amount);
  59. }
  60. }