前言

前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用。穿插的目的在于不用先去寻找mongodb的命令又去寻找在java中的应用。本人就是从中过来的,所以本文旨在减少刚入门的同学少走一点弯路。

mongoDB所存储的数据以键值对的方式存储

注意事项

在创建数据库和创建集合没有讲解MongoTemplate的使用是因为:在创建数据库时只需要在配置文件中配置database路径即可。而在创建集合是只需要进行插入或者更新操作即可自动创建集合

注入mongotemplate

@Autowired
MongoTemplate mongoTemplate;

1. 创建数据库

use mydatabase
#插入数据
db.mydatabase({"name","我的数据库"})
show dbs

2. 创建集合

use mydatabase
db.createCollection("mycollection")
# 显示所有集合
show collections

3. 插入文档

命令方式:

db.mycollection.insert({
"key":"data",
"value":"数据",
"num": 1
})

java代码:

// 自定义对象
Data data = new Data("data","数据",1);
mongoTemplate.insert(data, "mycollection");

3. 更新文档

命令方式:

# 更新单行
db.mycollection.update({"key":"data"},{"$set":{"value":"更新数据"}})
# 更新多行
db.mycollection.update({"key":"data"},{"$set":{"value":"更新数据"}},{multi:true}) #如果数据结构是
{
"key":"key"
"data":{
"value":"数据"
}
}
db.mycollection.update({"key":"data"},{"$set":{"data.value":"更新数据"}})

java代码:

 Update update = new Update();
update.set("value":"更新数据");
update.set("data.value":"更新数据");
// num自增加 前提 num 对应的必须为整形或者浮点型
update.inc("num", 1);
Query query = new Query(
Criteria.where("key").is("data")
);
mongoTemplate.updateFirst(query, update, "mycollecition");

4. 查询文档

命令方式

#普通查询
db.mycollection.find({"key":"data"})
#正则查询
db.mycollection.find({"key":{"$regex":"dat"}})
#大于等于 gte 小于等于 lte 大于 gt 小于 lt
db.mycollection.find({"num":{"$lt":1}})

MongoDB命令及其MongoTemplate的混合讲解的更多相关文章

  1. MongoDB命令行操作

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...

  2. MongoDb 命令查询所有数据库列表

    原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...

  3. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  4. Mongodb命令 --- MongoDB基础用法(二)

    Mongodb命令 数据库操作 创建数据库 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库 Mong ...

  5. MongoDB命令学习

    mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分 都是用类似cmd命令的方式(mongodb称为shell操作 ...

  6. mongodb命令行group分组和java代码中group分组

    group分组统计是数据库比较常用的功能,mongodb也不例外.不过相对于普通的增删改查,group操作就略微麻烦一些, 这里对group在shell中的操作.使用java原生代码操作以及集成spr ...

  7. MongoDB命令及SQL语法对比

    mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...

  8. mongodb新手入门,mongodb命令学习

    下面来总结一下mongodb新手入门的常用命令吧.要是您是mongodb新手,可以看下. 1,show dbs 查询mongodb里面的数据库列表 如果想查看当前连接在哪个数据库下面,可以直接输入db ...

  9. mongoDB命令

    . getLastError db.runCommand({getLastError:}) . buildInfo //返回mongoDB的服务器版本号和操作系统类型 db.runCommand({} ...

随机推荐

  1. Paths

    Paths 在javax.tools.StandardLocation 枚举类下定义了几个枚举变量,如下: public enum StandardLocation implements Locati ...

  2. ActionController::UnfilteredParameters: unable to convert unpermitted parameters to hash

    rails 开发中 5.1版本使用binding.pry会报 ActionController::UnfilteredParameters: unable to convert unpermitted ...

  3. Struts2 ongl内存结构

    valuestack是OgnlValueStack的实现,而OgnlValueStack是基于ValueStack的实现 valuestack的内存结构为: 里面主要的为:context和root r ...

  4. java多线程---------java.util.concurrent并发包----------等待多线程完成

    一.等待多线程完成的join的使用.CoundownLantch.CyclicBarrier .

  5. springboot主从数据库

    是从springmvc的思路上来做的,主要就是配置主.从DataSource,再继承AbstractRoutingDataSource,重写determineCurrentLookupKey方法,通过 ...

  6. ES6常用七大特性

    ES6可谓是对JS语言的一个颠覆性改变,增加了Module改善JS一直被诟病的模块化.Promise解决异步函数的回调地狱.Class的面相对象编程... 在学习ES6的过程中,大家或多或少都有看过阮 ...

  7. 解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function

    Vue的项目中,如果项目简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 进行传递 但是如果是大中型项目中,很多时候都需要在不相关的平行组件之间传递数据,并且很多数据需要 ...

  8. 获取访问MySQL的应用

    接到业务需求,要我统计哪个应用访问了哪些表,一般来讲可以通过: 1.show full processlist; 2.SELECT HOST FROM information_schema.proce ...

  9. The following control could not be licensed: TXTextControl.TextControl。。解决方案

    在这篇博客中,下面的控制不能授权:txtextcontrol.textcontrol这意味着,找不到合适的许可证来验证控制.一般情况下,许可证将被自动纳入应用程序,通常不必担心许可证的所有. “许可证 ...

  10. UEditor图片焦点错位,火狐document.body.scrollTop不管用的问题

    转自 http://liyunpeng.iteye.com/blog/2068751 关于 document.body.scrollTop 在火狐浏览器中不管用的问题 看网上有人写通过判断docume ...