1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using CZFW.Framework.Model.ViewModel;
- using MongoDB.Bson;
- using MongoDB.Driver;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace CZFW.MDB
- {
- public interface IPage
- {
- /// <summary>
- /// 通过表的schemaId获取列表
- /// </summary>
- /// sid 网站id
- /// <param name="pageKey"></param>
- /// <param name="type"></param>
- /// <param name="query"></param>
- /// <param name="projection"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <param name="sort"></param>
- /// <param name="userCusor"></param>
- /// <returns></returns>
- BsonArray GetList(string sid, string pageKey, string type, string query = "{}", string projection=null, int pageIndex = 1, int pageSize = 20, string sort = "{}", bool userCusor = false);
- BsonDocument Get(string pageKey, string dataKey, string type, string projection = null);
- BsonDocument GetByName(string pageName, string dataKey, string type, string projection = null);
- BsonDocument GetOne(string sid, string pageKey, string query, string type, string projection = null, string sort="{}");
- BsonDocument GetOneByName(string sid, string pageName, string query = "{}", string projection = "{}", string sort="{}");
- long GetCount(string sid, string pageName, string query = "{}");
- /// <summary>
- /// 通过表名获取列表
- /// </summary>
- /// sid 网站Id
- /// <param name="pageName"></param>
- /// <param name="type">要获取的projection的类型。 对应schema下面的template下面的模板。该字段和projection功能一致。
- /// 只需要使用一个字段。如果都传入非空,则以projection优先。如果projection为null,则以type为准</param>
- /// <param name="query"></param>
- /// <param name="projection"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <param name="sort"></param>
- /// <param name="useCusor"></param>
- /// <returns></returns>
- BsonArray GetListByName(string sid,string pageName, string type=null, string query = "{}", string projection = "{}", int pageIndex = 1, int pageSize = 20, string sort = "{}", bool useCusor = false);
- //获取当前查询对应表。通常是在查询过程中该表被设置。
- IMongoCollection<BsonDocument> GetCurrentTable();
- /// <summary>
- /// 按条件随机获取相关记录
- /// </summary>
- /// <param name="sid">siteName</param>
- /// <param name="pageName">表名,内部不做模板名称处理</param>
- /// <param name="excludeId">需要排除的Id,通常是当前记录本身的Id</param>
- /// <param name="query">查询条件</param>
- /// <param name="projection">返回字段</param>
- /// <param name="size">获取数据的条数</param>
- /// <returns></returns>
- BsonArray GetRelated(string sid, string pageName, string excludeId = null, string query = "{}", string projection = "{}", int size = 4);
- ResultModel Inc(string pageName, string key, string field, int amount);
- }
- }
|