MongoDB安装与Java连接MongoDB使用

一、MongoDB官方下载

官方地址:https://www.mongodb.com/try/download/community

我的系统CentOS7.6,所以我下载了7.0版本MongoDB,版本与系统版本要匹配上即可。

二、安装MongoDB

1、在home目录下创建mongoDB目录:

#cd /home
#mkdir mongoDB

2、将mongoDB压缩包解压到mongoDB目录下

#tar -zxvf mongodb-linux-x86_64-rhel70-4.4.6.tgz -C /home/mongoDB

3、解压后的压缩包重命名为mongodbserver

#cd /home/mongoDB

#mv mongodb-linux-x86_64-rhel70-4.4.6.tgz  mongodbserver

4、创建数据库文件夹、日志文件夹及日志文件

#cd /home/mongoDB/mongodbserver

#mkdir data

#mkdir logs

#cd /logs

#touch mongodb.log

5、创建启动配置文件mongodb.conf

#vim /etc/mongodb.conf

#指定数据库路径
dbpath=/home/mongoDB/mongodbserver/data
#指定MongoDB日志文件
logpath=/home/mongoDB/mongodbserver/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017 
#方便外网访问
bind_ip=0.0.0.0
fork=true 
# 以守护进程的方式运行MongoDB,创建服务器进程
auth=true

6、配置环境变量

#vim /etc/profile

在文件底部添加以下命令

export PATH=/home/mongoDB/mongodbserver/bin:$PATH

重启profile 

#source /etc/profile

7、启动mongoDB

#cd /home/mongoDB/mongodbserver/bin

# ./mongod -f /etc/mongodb.conf

8、浏览器访问mongodb
http://192.168.***.**:27017,出现以下的提示语,说明启动成功。

三、在控制面板操作mongodb

1、进入mongodb页面

#cd /home/mongoDB/mongodbserber/bin

#./mongo

>use admin   --使用admin数据库

>db.createUser( {user: "username",pwd: "123456",roles: [ { role: "root", db: "admin" } ]}); --给admin创建用户和密码,并赋予权限

>db.auth("username","123456")  --使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

四、Java连接mongoDB及基本操作 ,springboot集成mongoDB

1、yml 配置

donghua:
  mongodb:
    mongoUrl: mongodb://username:pwd@localhost:27017 #username:admin数据库的用户名;pwd:密码
    dataBase: admin

2、mongo获取配置值并初始化

@Component
@ConfigurationProperties(prefix = "donghua.mongodb")
@Data
@Slf4j
public class MongoDBConfig {

    private String mongoUrl;//mongo访问路径
    private String dataBase;//mongo数据库

    /*
    MongoTemplate 初始化
    */
    public @Bean MongoTemplate mongoTemplate() {
        return new MongoTemplate(new SimpleMongoClientDbFactory(MongoClients.create(mongoUrl), dataBase));
    }
}

 

3、mongo的基本操作

/*
*测试类
*/
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = MainApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MainApplicationTests {

    //引用MongoTemplate工具
    @Resource
    private MongoTemplate mongoTemplate;

   // mongo新增数据,实体类名称将作为表名。
    @Test
    public void addMongo() {
        MonitorRecordParam record = new MonitorRecordParam();
        record.setTreeId(1);
        record.setMonitorJson("[{\"岗位\":\"问问\"},{\"姓名\":\"张三\"}]");
        mongoTemplate.insert(record);
    }
    //简单多条件查询查询
    @Test
    public void queryMongo(){
        Query query = new Query();
        query.addCriteria(Criteria.where("treeId").is(15).and("_id").is("dddddd"));
        MonitorRecordParam mo = mongoTemplate.findOne(query, MonitorRecordParam.class);
        log.info("数据:"+mo.getMonitorJson());
    }
    //分页查询
    @Test
    public void pageQueryMongo(){
        Query query = new Query();
        //分页
        // 从那条记录开始
        query.skip(0);
        // 取多少条记录
        query.limit(2);
        //根据创建时间降序
        query.with(Sort.by(Sort.Direction.DESC, "treeId"));
        List<MonitorRecordParam> list = mongoTemplate.find(query, MonitorRecordParam.class);
        log.info("数据:"+ list.toString());
    }
    //更新
    @Test
    public void updateMongo(){
        Query query = new Query();
        query.addCriteria(Criteria.where("treeId").is(15));
        Update update = new Update();
        update.set("monitorJson","{turang:23;yanglizi:90}");
        mongoTemplate.updateMulti(query,update,MonitorRecordParam.class);
    }
    //删除
    @Test
    public void removeMongo(){
        Query query = new Query();
        query.addCriteria(Criteria.where("treeId").is(15));
        mongoTemplate.remove(query,MonitorRecordParam.class);
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值