mongodb

1.介绍
    数据量大,写入操作频繁,价值较低
        对于这样的数据,我们更适合使用MongoDB来实现数据的存储
        
    非关系型数据库。
    
    文档(document) -- 一条记录、
    集合(collection) -- 表、
    数据库(database) -- 数据库
    
    MongoDB里面放的数据是BSON - 当JSON操作。
    如果没有设置ID,MongoDB会自动的添加一个ObjectId
    
2.命令
    docker run -id --name mongo -p 27017:27017 mongo
    
    增:
        db.collection.insert({"type":"这是一个JSON数据"})
    修改:
        db.collection.update({_id:"2"},{$set:{thumbup:2000}})
        db.collection.update({_id:"2"},{$inc:{thumbup:1}})
    删除:
        db.collection.remove({thumbup:1000})
    查询:
        db.collection.find()
        db.collection.findOne()
        db.collection.find({userid:'1013'})
        db.collection.find({content:/加班/})  --- 正则: /^ $/
        db.collection.find({ "field" : { $gt: value }}) // 大于: field > value
        db.collection.find({ "field" : { $lt: value }}) // 小于: field < value
        db.collection.find({ "field" : { $gte: value }}) // 大于等于: field >= value
        db.collection.find({ "field" : { $lte: value }}) // 小于等于: field <= value
        db.collection.find({ "field" : { $ne: value }}) // 不等于: field != value
        
        db.collection.find({userid:{$in:["1013","1014"]}})
        db.collection.find({userid:{$nin:["1013","1014"]}})
        db.collection.find({$and:[ {thumbup:{$gte:1000}} ,{thumbup:{$lt:2000} }]})
    
    语法:
        db.collection.方法名(条件)
        
        条件:
            { "field" : { $gt: value }}
            {$and:[{thumbup:{$gte:1000}},{thumbup:{$lt:2000}}]}
3.Java操作Mongo
    //创建连接
    MongoClient client = new MongoClient("192.168.200.128",27017);
    //打开数据库
    MongoDatabase commentdb = client.getDatabase("commentdb");
    //获取集合
    MongoCollection comment = commentdb.getCollection("comment");
    //查询
    FindIterable documents = comment.find();
    
    new BasicDBObject("_id", "1") // 这是一个封闭条件 的对象。
    
    comment.insertOne(document); //保存
    comment.deleteOne(filter); // 删除
    //修改的条件
    Bson filter = new BasicDBObject("_id", "6");
    //修改的数据
    Bson update = new BasicDBObject("$set", new Document("userid", "8888"));
    comment.updateOne(filter, update);

4.评论
    SpringData - Spring家族整合数据操作的通用框架。
    
        SpringDataJPA - 操作关系型数据库的。
        SpringDataMongoDB - 
        
        ORM - 对象关系映射模型。
    
    SpringDataMongoDB
        1.导包
            
                org.springframework.boot
                spring-boot-starter-data-mongodb
            

        2.配置
            spring:
                data:
                    mongodb:
                        database: commentdb
                        host: 192.168.25.131
        3.开发DAO
            //MongoRepository 泛型一定要加,第一个表示操作的类型,第二个表示主键。
            public interface CommentRepository extends MongoRepository {}
    业务:
        1. 基本增删改查API
        2. 根据文章id查询评论
        3. 评论点赞

你可能感兴趣的:(mongoDB)