DBCollection 是表示数据集合的抽象类,它的实现可以简单地分为两类:
一类是抽象方法,由子类(DBApiLayer.MyCollection)实现;
另一类委托给类型为 "DB" 的属性 _db,_db 实际上是 DBApiLayer 类的实例(DBApiLayer 继承抽象类 DB);
因此,DBCollection 类是实现细节与 DBApiLayer 关系密切。
DBApiLyer 的实现细节我们将在后续文章中进行详细的描述,本文主要探讨两者之间的联系。
以下方法是由子类实现的,这些将在介绍 DBApiLayer 时再进行详细说明:
此外,以下方法是在这些方法的基础上,在进行包装和组合得到的:
一类是抽象方法,由子类(DBApiLayer.MyCollection)实现;
另一类委托给类型为 "DB" 的属性 _db,_db 实际上是 DBApiLayer 类的实例(DBApiLayer 继承抽象类 DB);
因此,DBCollection 类是实现细节与 DBApiLayer 关系密切。
DBApiLyer 的实现细节我们将在后续文章中进行详细的描述,本文主要探讨两者之间的联系。
由子类实现的方法
以下方法是由子类实现的,这些将在介绍 DBApiLayer 时再进行详细说明:
- // 插入记录
- public abstract WriteResult insert(DBObject[] arr , WriteConcern concern )
- // 更新记录
- public abstract WriteResult update( DBObject q , DBObject o , boolean upsert , boolean multi , WriteConcern concern )
- // 保存数据之前附加额外属性
- protected abstract void doapply( DBObject o )
- // 删除记录
- public abstract WriteResult remove( DBObject o , WriteConcern concern )
- // 查询记录
- abstract Iterator<DBObject> __find( DBObject ref , DBObject fields , int numToSkip , int batchSize , int limit, int options )
- // 创建索引
- public abstract void createIndex( DBObject keys , DBObject options )
此外,以下方法是在这些方法的基础上,在进行包装和组合得到的:
- public final void ensureIndex( final DBObject keys , final DBObject optionsIN )
- public final DBObject findOne( DBObject o, DBObject fields )
- public fi