首页 > 代码库 > mongo数据库的增删改查

mongo数据库的增删改查

首先建立连接池

applicationContext.xml 配置  

1.表头 添加  

 xmlns:mongo="http://www.springframework.org/schema/data/mongo"

 

2.添加配置

<!-- Mongo DataSource -->

1 <mongo:mongo id="mongo" host="${mongo.host}" port="${mongo.port}">2 <mongo:options/>3 </mongo:mongo>4 5 <mongo:db-factory id="mongoDbFactory" dbname="${mongo.dbName}" mongo-ref="mongo"/>6 7 <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">8 <constructor-arg ref="mongoDbFactory"/>9 </bean>

 

3. MongoAddKeywordService 添加

package com.honghailt.dataextracter.service;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.stereotype.Service;import org.springframework.util.StringUtils;import com.honghailt.dataextracter.model.MongoKeyword;import com.mongodb.BasicDBObject;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;@Servicepublic class MongoAddKeywordService {     @Autowired     private MongoTemplate mongoDb;     //     public void createTable(){//         DBCollection collection = mongoDb.getCollection(//                    "tb_keyword_operation_test_log");//            DBObject dbo = new BasicDBObject();//            dbo.put("nick", "test");//            dbo.put("col1", "col1");//            dbo.put("col2", "col2");//            dbo.put("col3", "col3");//            dbo.put("col4", "col4");//            collection.insert(dbo);//     }     //     public void findData(){//         DBCollection collection = mongoDb.getCollection(//                    "cat_brand");//         DBObject dbo = new BasicDBObject();//         dbo.put("catId", "110202");//         dbo.put("brand", "AData");//        long timeBegin =System.currentTimeMillis();//         DBCursor sor=collection.find(dbo);//         System.out.println("count:\t"+sor.count());//         long timeEnd =System.currentTimeMillis();//         System.out.println(timeEnd-timeBegin);//     }         public Map<String,Integer> getCount(MongoKeyword keyWord){         DBCollection collection = mongoDb.getCollection(                    "cat_brand");                  DBObject dbo = new BasicDBObject();            if(keyWord!=null && !StringUtils.isEmpty(keyWord.getKeywordStr())){                dbo.put("brand", keyWord.getKeywordStr());            }            if(keyWord!=null && !StringUtils.isEmpty(keyWord.getCatId())){                dbo.put("catId", keyWord.getCatId().toString());            }         DBCursor sor=collection.find(dbo);         int count = sor.count();         Map<String,Integer> map = new HashMap<String,Integer>();         map.put("count", count);        return map;      }          public List<MongoKeyword> getKeywordList(MongoKeyword keyWord){         List<MongoKeyword> keyWordList = new ArrayList<MongoKeyword>();         DBCollection collection = mongoDb.getCollection(                    "cat_brand");         DBObject dbo = new BasicDBObject();        if(keyWord!=null && !StringUtils.isEmpty(keyWord.getKeywordStr())){            dbo.put("brand", keyWord.getKeywordStr());        }        if(keyWord!=null && !StringUtils.isEmpty(keyWord.getCatId())){            dbo.put("catId", keyWord.getCatId().toString());        }         DBCursor sor=collection.find(dbo).skip(0).limit(20);         List<DBObject>  list=sor.toArray();         for (DBObject dbObject : list) {             MongoKeyword keyword = new MongoKeyword();             if(dbObject.get("catId")!=null)             keyword.setCatId(""+dbObject.get("catId"));             if(dbObject.get("brand")!=null)             keyword.setKeywordStr(""+ dbObject.get("brand"));             if(dbObject.get("allAvgPrice")!=null)             keyword.setAllAvgPrice(""+dbObject.get("allAvgPrice"));             if(dbObject.get("allClicks")!=null)             keyword.setAllClicks(""+dbObject.get("allClicks"));             if(dbObject.get("allCompition")!=null)             keyword.setAllCompition(""+dbObject.get("allCompition"));             if(dbObject.get("allCtr")!=null)             keyword.setAllCtr(""+ dbObject.get("allCtr"));             if(dbObject.get("allPv")!=null)             keyword.setAllPv(""+ dbObject.get("allPv"));             keyWordList.add(keyword);        }         return keyWordList;     }              public void saveMongoKeyWord(String[] keywordStr, String[] catId) {         DBCollection collection = mongoDb.getCollection(                    "cat_brand");         List<DBObject> d = new ArrayList<DBObject>();         List<String> list =getUniqueList(keywordStr,catId);         for (String string : list) {             String[] str = string.split(",");             DBObject dbo = new BasicDBObject();                if(!StringUtils.isEmpty(str[0])){                    dbo.put("brand", str[0]);                }                if(!StringUtils.isEmpty(str[1])){                    dbo.put("catId", str[1]);                }                 int count=    collection.find(dbo).count();                if(count<=0){                    dbo.put("brand", str[0]);                    dbo.put("catId",str[1]);                    d.add(dbo);                }else{                    System.out.println("已存在keywordStr:"  + str[0] +"catId:" +str[1]);                    }           }                                collection.insert(d);        // TODO Auto-generated method stub    }        public static List<String> getUniqueList(String[] keywordStr, String[] catId){        List<String> list= new ArrayList<String>();        if(keywordStr!=null && keywordStr.length>=1){            for (int i = 0; i < keywordStr.length; i++) {                if (!StringUtils.isEmpty(keywordStr[i]) && !StringUtils.isEmpty(catId[i])) {                    String str=keywordStr[i]+","+catId[i];                    if(!list.contains(str)){                        list.add(str);                    }                }            }        }        return list;    }    //    public static void main(String[] args) {//        String[] strs1={"1","2","3","4","1","2"};//        String[] strs2={"1","2","3","4","1","3"};//        List<String> list =getUniqueList(strs1,strs2);//        for (Object object : list) {//            System.out.println(object);//        }//    }    }

更新操作

public List<Map<String,String>> getMongoList(){        DBCollection col = baseDao.getDB().getCollection(Constant.TABLE_CUSTOMER_ORDER_MONTN);        DBCursor sor =col.find();         List<DBObject>  list=sor.toArray();         Map<String,String> map=    this.getUserList();//                           for(String s:map.keySet()){             System.out.println(s);             BasicDBObject query = new BasicDBObject();                query.put("creator",s );                DBObject update=new BasicDBObject();              update.put("creator_deptid", map.get(s));              col.update(query, new BasicDBObject().append("$set", update),false,true);         }//        for (DBObject dbObject : list) {//            String name =(String) dbObject.get("creator");//            if(StringUtils.isNotEmpty(map.get(name))){////                System.out.println(dbObject.get("creator_deptid")+"  "+(map.get(name)));//                if(!dbObject.get("creator_deptid").equals(map.get(name))){//                    System.out.println(dbObject.get("creator_deptid")+"|0000==*==0000|"+(map.get(name))+"aaaa"+name);//                }//            }//        }        return null;             }

 

mongo数据库的增删改查