美文网首页
MongoDB:常用命令及与Spring集成

MongoDB:常用命令及与Spring集成

作者: overflowedstack | 来源:发表于2020-06-09 11:13 被阅读0次

    基本概念

    Mongo DB: database - collection(集合) - document(文档) - field
    MySQL: database - table - row - column

    连接mongodb

    1. 命令行
    2. 图形化界面 - Compass

    常用命令

    1. 数据库
    查看数据库:show dbs
    选择切换数据库:use mydb
    查看正在使用的数据库:db
    查看文档:show collections 或 show tables
    
    1. 增加
    插入数据:db.myCollection.insert({bson数据})
    
    1. 查询
    查询所有数据:db.myCollection.find()
    条件查询数据:db.myCollection.find({条件})
    查询符合条件的第一条记录:db.myCollection.findOne({条件})
    查询符合条件的前几条记录:db.myCollection.find({条件}).limit(条数)
    查询符合条件的跳过的记录:db.myCollection.find(条件).skip(条数)
    统计查询:db.myCollection.count({条件})
    模糊查询:db.myCollection.find({字段名:/正则表达式/})
    条件比较运算:db.myCollection.find({字段名:{$gt:值}})
    包含查询:db.myCollection.find({字段名:{$in:[值1,值2]}})
    不包含:db.myCollection.find({字段名:{$nin:[值1,值2]}})
    and条件查询:db.myCollection.find({$and:[{条件1},{条件2}]})
    or条件查询:db.myCollection.find({$or:[{条件1},{条件2}]})
    
    1. 修改
    修改数据:db.myCollection.update({条件},{修改后的数据})
            db.myCollection.update({条件},{$set:{要修改的部分字段:数据}})
    修改数据并自增某字段值: db.myCollection.update({条件},{$inc:{自增的字段:步进值}})
    
    1. 删除
    删除数据:db.myCollection.remove({条件})
    
    1. 查看数据库存储空间
    db.stats() 默认以Byte为单位
    db.stats(1024) kb
    db.stats(1024*1024) MB
    db.stats(1024*1024*1024) GB
    

    与Spring集成

    1. jar包

    mongodb-driver
    这是mongo官方推出的java连接mongodb的驱动包,相当于JDBC驱动。

    SpringDataMongoDB
    用于操作mongodb的持久层框架,封装了底层的mongodb-driver。

    1. xml配置
        <bean id="mongoDbFactory" class="org.springframework.data.mongodb.core.SimpleMongoDbFactory">
            <constructor-arg type="com.mongodb.MongoClientURI" ref="mongoClientURI"/>
        </bean>
        <bean id="mongoClientURI" class="com.ms.mongo.mongodb.driver.MongoClientURI">
            <constructor-arg type="java.lang.String" value="${mongodbUri}"/>
        </bean>
        <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
            <constructor-arg type="org.springframework.data.mongodb.MongoDbFactory" ref="mongoDbFactory"/>
        </bean>
    
    1. 操作数据库
      spring对mongodb的操作主要通过MongoTemplate来进行。
    import com.mongodb.BasicDBObject;
    import com.mongodb.DBCollection;
    import com.mongodb.DBCursor;
    import org.springframework.data.mongodb.core.MongoTemplate;
    
    //获取表
    DBCollection myCollection = mongoTemplate.getCollection("myCollection");
    List<BasicDBObject> res = new ArrayList<>();
    
    //将Mongo Json格式的string转换成string
    BasicDBObject parse = BasicDBObject.parse(query);
    
    //根据条件查询mongodb,结果放入一个mongo结果集的迭代器。
    DBCursor dbObjects = myCollection.find(parse).limit(100);
    
    //逐个获取结果数据
    dbObjects.toArray().forEach(e -> res.add((BasicDBObject) e));
    

    相关文章

      网友评论

          本文标题:MongoDB:常用命令及与Spring集成

          本文链接:https://www.haomeiwen.com/subject/lmzrtktx.html