MongoDB - 基础使用

 

0. 下载并解压

下载地址: https://www.mongodb.com/download-center/community

我这里下载的是zip版本的
2
 

1. 安装运行

新建文件夹data/db

3

进入cmd, 切换到mongodb/bin目录下, 执行命令

mongod --dbpath c:\Server\mongodb\data\db

4

看到waiting for connections on port 27017即代表已经运行起来了
 

2. 命令行连接

bin目录下进入cmd, 输入mongo并回车运行

5

查看数据库: show dbs

6

添加用户

use admin
db.createUser(
  {
    user: "myroot",
    pwd: "root1234",
    roles: [ { role: "root", db: "admin" } ]
  }
)
use test

这里使用了use test, 它会切换到test数据库, 如果不存在则会自动创建

7

关于MongoDBrole, 可以查看这篇文章: MongoDB 内置角色

关闭服务, 并启用身份验证重启

  • 关闭mongodmongo命令的两个控制台窗口, 重新打开一个控制台, 切换到mongo/bin目录下, 运行以下命令
mongod --dbpath c:\Server\mongodb\data\db --auth
  • 另起一个控制台, 输入mongo命令

8

此时可以看到, 因为启用了身份验证, 运行show dbs就报错了

  • db.auth(用户名, 密码) 认证用户

9

此时再运行show dbs能正常使用了

  • 创建普通用户
db.createUser(
  {
    user: "testUser",
    pwd: "1234",
    roles: [ { role: "readWrite", db: "test" } ]
  }
)

10

  • 退出当前用户, 用新创建的testUser登录
db.logout()
db.auth("testUser", "1234")
use test

11

  • 集合的创建与删除(集合相当于一般数据库中的概念)
db.createCollection(name, options)
db.collection.drop()

12

  • 文档(数据)的增删查改
db.COLLECTION_NAME.insert(document)

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

db.collection.find(query, projection)

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

13
 

3. 在SpringBoot中使用

添加依赖

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

配置数据库连接

spring.data.mongodb.uri=mongodb://test:1234@localhost:27017/test?maxPoolSize=256

创建Bean

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

/**
 * Created by Reeye on 2018/10/31 15:46
 * Nothing is true but improving yourself.
 */
@Data
@Document(collection = "user")
public class User {

    @Id
    private Long id;
    @Field("name")
    private String name;
    private Integer age;
    private Boolean sex;

}

创建Repository

import org.springframework.data.mongodb.repository.MongoRepository;

/**
 * Created by Reeye on 2018/10/31 15:48
 * Nothing is true but improving yourself.
 */
public interface UserRepository extends MongoRepository<User, Long> {

    User findByName(String name);

}

测试运行

    @Autowired
    private UserRepository userRepository;

    @Test
    public void test1() {
        User u = new User();
        u.setId(3L);
        u.setName("Tom");
        userRepository.save(u);
        userRepository.findAll();
        userRepository.deleteById(3L);
    }

MongoRepository封装了一些常用的CRUD方法, 并且跟JPA类似, 可以在接口里自定义findByXxx, queryByXxxxLike这样的方法, 不需要实现.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值