mongodb Window下安装设置密码 springboot 集成mongodb

下载地址:https://www.mongodb.com/download-center/community
zip直接解压即可
安装目录下mongodb\bin\mongod.exe启动
启动时如果有以下错误
错误:MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-07-04T18:00:33.323+0800 E QUERY [js] Error: couldn’t connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: ����Ŀ�����������ܾ����޷��� �ӡ� :
connect@src/mongo/shell/mongo.js:343:13
@(connect):2:6
exception: connect failed

解决:管理员打开cmd cd到bin下 mongod.exe --dbpath D:\Java\mongodb\data

1、Window mongodb设置密码

 1、 Mongodb安装目录的bin目录下

mongo.exe

 2、 进入admin数据库

Use admin

 3、 首先看看mongodb内置角色:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root  
7. 内部角色:__system
 4、 db.createUser({user:“admin”,pwd:“admin”,roles:[{role:“userAdminAnyDatabase”,db:“admin”}]})
 5、 重启mongodb服务,

重新打开cmd,在mongodb路径的bin目录下,执行mongod --dbpath D:\Java\mongodb\data --auth
q启动时一定要加–auth才会应用密码

 6、 db.auth(“”,””)查看是否设置成功

2、springboot 集成mongodb

 1、pom

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
 2、application.yml
不设密码
spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/test
设置密码

spring:
  data:
    mongodb:
      uri: mongodb:// admin:admin@localhost:27017/test

多节点集群
spring:
  data:
    mongodb:
      uri: mongodb:// admin:admin@localhost:27017,xxxxx:27017/test

 3、mongoTemplate操作demo
package com.example.mongodb.Dao;

import java.util.List;



public class User {
    public String _id;//可映射自动生成的id
    public String name;
    public String addressName;
    public String msg;
    public List<UserDetail> userDetail;

    public String get_id() {
        return _id;
    }

    public void set_id(String _id) {
        this._id = _id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddressName() {
        return addressName;
    }

    public void setAddressName(String addressName) {
        this.addressName = addressName;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public List<UserDetail> getUserDetail() {
        return userDetail;
    }

    public void setUserDetail(List<UserDetail> userDetail) {
        this.userDetail = userDetail;
    }

    @Override
    public String toString() {
        return "User{" +
                "_id='" + _id + '\'' +
                ", name='" + name + '\'' +
                ", addressName='" + addressName + '\'' +
                ", msg='" + msg + '\'' +
                ", userDetail=" + userDetail +
                '}';
    }
}

package com.example.mongodb.Dao;


public class UserDetail {
    public String named;
    public String msgd;
    public String addressNamed;

    public String getNamed() {
        return named;
    }

    public void setNamed(String named) {
        this.named = named;
    }

    public String getMsgd() {
        return msgd;
    }

    public void setMsgd(String msgd) {
        this.msgd = msgd;
    }

    public String getAddressNamed() {
        return addressNamed;
    }

    public void setAddressNamed(String addressNamed) {
        this.addressNamed = addressNamed;
    }

    @Override
    public String toString() {
        return "UserDetail{" +
                "named='" + named + '\'' +
                ", msgd='" + msgd + '\'' +
                ", addressNamed='" + addressNamed + '\'' +
                '}';
    }
}

package com.example.mongodb;

import com.example.mongodb.Dao.User;
import com.example.mongodb.Dao.UserDetail;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mongodb.DBObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
import org.springframework.data.mongodb.core.aggregation.LookupOperation;
import org.springframework.data.mongodb.core.aggregation.TypedAggregation;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.repository.support.PageableExecutionUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.*;


@Controller
@RequestMapping("/test")
public class TetController{

    @Autowired
    private MongoTemplate mongoTemplate;

//        updateMulti 如果根据查询条件找到对应的多条记录是,全部更新
//        updateFirst 更改符合条件的第一个
//        upsert  update+insert 如果根据条件没有对应的数据,则执行插入
//        findAndModify 查询然后更新

    @GetMapping("/saveUser")
    public String saveUser() throws  Exception{
        List<User> list = new ArrayList<>();
        for (int i=0;i<10;i++){
            User user = new User();
            user.setName("test"+i);
            user.setAddressName("sdfasd");
            user.setMsg("msg");
            list.add(user);
        }
        mongoTemplate.insertAll(list);
        Query query = Query.query(Criteria.where("name").is("test1"));
        List<User> lo = mongoTemplate.find(query,User.class);
        for (User l:lo){
            System.out.println(l.toString());
        }
        return "";
    }
    @GetMapping("/saveUserDetail")
    public String saveUserDetail() throws  Exception{
        List<UserDetail> list = new ArrayList<>();
        for (int i=0;i<10;i++){
            UserDetail user = new UserDetail();
//            user.setId(i);
            user.setNamed("test"+i);
            user.setAddressNamed("sdfasd");
            user.setMsgd("msg");
            list.add(user);
        }
        mongoTemplate.insertAll(list);
        Query query = Query.query(Criteria.where("named").is("test1"));
        List<UserDetail> lo = mongoTemplate.find(query,UserDetail.class);
        for (UserDetail l:lo){
            System.out.println(l.toString());
        }

        return "";
    }
    @GetMapping("/join")
    public String join(){
//        Query query = Query.query(Criteria.where("name").is("test1"));
//        List<User> lo = mongoTemplate.find(query,User.class);
        List<User> lo =  mongoTemplate.findAll(User.class);
        for (User l:lo){
            System.out.println("User"+l.toString());
            Query queryn = Query.query(Criteria.where("named").is(l.getName()));
            List<UserDetail> lod = mongoTemplate.find(queryn,UserDetail.class);
//            for (UserDetail ld:lod){
//                System.out.println("UserDetail"+ld.toString());
//            }
            l.setUserDetail(lod);
            System.out.println(l.toString());
        }
        return "";
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值