基本概念
Mongo DB: database - collection(集合) - document(文档) - field
MySQL: database - table - row - column
连接mongodb
- 命令行
- 图形化界面 - Compass
常用命令
- 数据库
查看数据库:show dbs
选择切换数据库:use mydb
查看正在使用的数据库:db
查看文档:show collections 或 show tables
- 增加
插入数据:db.myCollection.insert({bson数据})
- 查询
查询所有数据: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}]})
- 修改
修改数据:db.myCollection.update({条件},{修改后的数据})
db.myCollection.update({条件},{$set:{要修改的部分字段:数据}})
修改数据并自增某字段值: db.myCollection.update({条件},{$inc:{自增的字段:步进值}})
- 删除
删除数据:db.myCollection.remove({条件})
- 查看数据库存储空间
db.stats() 默认以Byte为单位
db.stats(1024) kb
db.stats(1024*1024) MB
db.stats(1024*1024*1024) GB
与Spring集成
- jar包
mongodb-driver
这是mongo官方推出的java连接mongodb的驱动包,相当于JDBC驱动。
SpringDataMongoDB
用于操作mongodb的持久层框架,封装了底层的mongodb-driver。
- 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>
- 操作数据库
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));
网友评论