java之操作mongodb

spring data为我们提供了操作mongodb的jar包,org.springframework.data.mongodb.core.MongoTemplate,这与spring对其它数据库提供的操作类名称相似。下面简单说下多数据的更新操作,以或(or)为例:

/**
*将primaryId或id等于传id的文档的name字段更新为王羊羊
**/
public boolean edit(String id){
    BasicDBList basicDBList = new BasicDBList();
    //在集合中放入两个BasicDBOBject对象,实际上就是两个查询条件
    //形如(假设传入的id的值为abc):[{"primaryId","abc"},{"id","abc"}]
    basicDBList.add(new BasicDBObject("primaryId",id));
    basicDBList.add(new BasicDBObject("id",id));
    BasicDBObject basicDBObject = new BasicDBObject();
    //封装查询条件,形如
    //{"$or":[{"primaryId","abc"},{"id","abc"}]}
    basicDBObject.put("$or",basicDBList);
    //放入Query对象,做为更新的条件
    Query query = new BasicQuery(basicDBObject.toJson());
    //更新内容
    //形如:{"$set":{"name":"王羊羊"}}
    Update update = new Update();
    update.set("name","王羊羊");
    UpdateResult  updateMulti = mongoTemplate.updateMulti(query,update,数据库对象的实体类.class);
    long count = updateMulti.getModifiedCount();
    if(count>0){
        return true;
    }
    return false;
}

大致原理其实就是封装成mongodb的curd操作语句,与在可视化工具中的操作是类似的。关于java对于mongodb的其它操作,会在后续更新。

猜你喜欢

转载自blog.csdn.net/u012131503/article/details/89487782
今日推荐