IMongoDao.java 1.6 KB
package com.myproject.dao.mongo;

import com.mongodb.DBObject;
import com.myproject.bean.BaseMongoBean;
import com.myproject.bean.search.PageList;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;

import java.util.Collection;
import java.util.List;

/**
 * Created by kangmor on 2015/9/14.
 */
public interface IMongoDao {

    public <T extends BaseMongoBean> T save(T t);

    <T extends BaseMongoBean> Collection<T> insertAll(Collection<T> beanList);

    public <T extends BaseMongoBean> T findOneById(String id);

    <T extends BaseMongoBean> T findOne(Query query);

    public <T extends BaseMongoBean> T findOneByCondition(String[] keys, String[] values);

    public <T extends BaseMongoBean> List<T> findListByCondition(String[] keys, String[] values);

    public List findByQuery(Query query, int page, int pageSize);

    List findByQuery(Query query);

    public int countByQuery(Query query);

    public int countByCondition(String[] keys, String[] values);

    public List findAll();

    public List findByRegex(String filed, String regex);

    public <T extends BaseMongoBean> void removeOneById(String id);

    public <T extends BaseMongoBean> void removeOne(Object bean);

    public<T extends BaseMongoBean> void removeAll();

    List<String> distinct(String key, DBObject query);

    public<T extends BaseMongoBean> void removeByQuery(Query query);

    public long count();

    void updateMulti(Query query, Update update);

    void updateFirst(Query query, Update update);

    PageList findByQuery(Query query, PageList pageList);

}