美文网首页
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