初识mongodb应用篇

一,sql 简单使用

# 选择数据库
use commentdb;

# 查看数据库
show dbs;

# 查看集合
show collections;

# 插入条件数据
db.comment.insert({_id:"1", content:"到底为啥出错了", userid:"1012", thumbup:2020});
db.comment.insert({_id:"2", content:"加班到半夜", userid:"1012", thumbup:1123});
db.comment.insert({_id:"3", content:"手机流量超了咋办", userid:"1012", thumbup:1023});
db.comment.insert({_id:"4", content:"坚持就是胜利", userid:"1012", thumbup:4532});

# 查询数据
db.comment.find();

# 条件查询
db.comment.find({thumbup:4532});

# 只查询一条
db.comment.findOne();

# 查询并指定返回2条数据
db.comment.find().limit(2);

# 修改(带条件)数据会丢失
db.comment.update({_id:"1"},{thumbup: 1000});

# 修改(带条件)只修改需要的数据
db.comment.update({_id:"2"},{$set:{thumbup: 1000}});

# 删除(所有)
db.comment.remove();

# 删除(带条件)
db.comment.remove({thumbup: 1000});

# 统计数据量
db.comment.count();

# 统计数据量(带条件)
db.comment.count({userid:"1012"});

# 模糊查询(包含)
db.comment.find({content:/流量/});

# 查询(以加班开头)
db.comment.find({content:/^加班/});

# 大于
db.comment.find({_id:{$gt: "1"}});

# 小于 
db.comment.find({_id:{$gt: "1"}});

# 不等于
db.comment.find({_id:{$ne: "1"}});

# 大于等于
db.comment.find({_id:{$gte: "1"}});

# 小于等于
db.comment.find({_id:{$lte: "1"}});

# and 条件查询
db.comment.find( {$and:[ {_id:{$lte: "1"}}, {thumbup:{$gte: 10}} ] } );

# or 条件查询
db.comment.find( {$or:[ {_id:{$lte: "1"}}, {thumbup:{$gte: 10}} ] } );

# 列增长,对某列值在原有值的基础上进行增加或减少,可以使用$inc运算符;
db.comment.update({_id:"2"},{$inc:{thumbup:1}});

# 包含查询
db.comment.find({userid:{$in:["1021", "1012"]}});

# 不包含查询
db.comment.find({userid:{$nin:["1021", "1012"]}});

二,mongodb-driver 简单使用

  • 添加依赖
 <dependencies>
     <dependency>
         <groupId>org.mongodb</groupId>
         <artifactId>mongodb-driver</artifactId>
     </dependency>
 </dependencies>
  • mongodb-driver 测试
public class MongoTest {

    private MongoClient mongoClient = null;
    private MongoCollection<Document> comment = null;

    @Before
    public void init()
    {
        // 创建mongo连接客户端
        this.mongoClient = new MongoClient("192.168.1.9");
        // 选择数据库
        MongoDatabase commentdb = mongoClient.getDatabase("commentdb");
        // 选择集合
        this.comment = commentdb.getCollection("comment");
    }

    @After
    public void colse()
    {
        // 关闭资源
        this.mongoClient.close();
    }

    // 查询所有
    @Test
    public void test()
    {
        // 查询
        FindIterable<Document> documents = comment.find();
        // 处理结果集
        for (Document document : documents) {
            System.out.println("-------------------------");
            System.out.println("_id:"+document.get("_id"));
            System.out.println("name:"+document.get("name"));
        }

    }

    // 条件查询
    @Test
    public void test2()
    {

        Map<String, Object> conditionMap = new HashMap<>();
        conditionMap.put("_id", "1");

        BasicDBObject conditionObject = new BasicDBObject(conditionMap);
        FindIterable<Document> documents = comment.find(conditionObject);
        // 处理结果集
        for (Document document : documents) {
            System.out.println("-------------------------");
            System.out.println("_id:"+document.get("_id"));
            System.out.println("name:"+document.get("name"));
        }
    }

    // 新增
    @Test
    public void test3()
    {
        Map<String, Object> conditionMap = new HashMap<>();
        conditionMap.put("_id", "8");
        Document document = new Document(conditionMap);
        comment.insertOne(document);
    }

    // 修改
    @Test
    public void test4()
    {
        Map<String, Object> conditionMap = new HashMap<>();
        conditionMap.put("_id", "1");
        // 指定查询条件
        BasicDBObject conditionObject = new BasicDBObject(conditionMap);

        Map<String, Object> contentMap = new HashMap<>();
        contentMap.put("content", "mongo-test");
        // 对需要修改内容进行封装
        BasicDBObject contentObject = new BasicDBObject("$set", contentMap);

        comment.updateOne(conditionObject, contentObject);
    }

    // 删除
    @Test
    public void test5()
    {
        Map<String, Object> conditionMap = new HashMap<>();
        conditionMap.put("_id", "1");
        BasicDBObject object = new BasicDBObject(conditionMap);
        comment.deleteOne(object);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值