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 { /// /// 通过表的schemaId获取列表 /// /// sid 网站id /// /// /// /// /// /// /// /// /// 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 = "{}"); /// /// 通过表名获取列表 /// /// sid 网站Id /// /// 要获取的projection的类型。 对应schema下面的template下面的模板。该字段和projection功能一致。 /// 只需要使用一个字段。如果都传入非空,则以projection优先。如果projection为null,则以type为准 /// /// /// /// /// /// /// 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 GetCurrentTable(); /// /// 按条件随机获取相关记录 /// /// siteName /// 表名,内部不做模板名称处理 /// 需要排除的Id,通常是当前记录本身的Id /// 查询条件 /// 返回字段 /// 获取数据的条数 /// 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); } }