MongoDB学习笔记

MongoDB学习笔记

概念

  • database 数据库
  • table 数据库表/集合
  • document 数据记录行/文档
  • fieId 数据字段/域
  • primaryKey 主键 MongoDB自动将_id字段设置位主键

命令行模式:在不启动动window服务的前提下,也可以通过建立一个命令行窗口来提供MongoDB服务。这个模式下是显示输出的内容的,即日志内容会直接打印在命令行窗口中。这种方式更利于数据库应用的开发调试,更加直观的显示数据的操作与异常。当关闭命令行窗口后,MongoDB服务将会停止。

  • –dbpath:指定数据库路径
  • –logpath:指定日志路径
  • –fork:以守护进程的方式运行MongoDB,创建服务器进程
  • –auth:启用用户身份验证(默认是不使用的)
  • –cpu:定期显示CPU的CPU利用率和iowait
  • –port:指定端口号
use admin
db.createUser({
    user:"userAdmin",
    pwd:"3832414122",
    roles:[{ role: "userAdminAnyDatabase",db:"admin"}]
})
-- user:用户名
-- pwd:密码
-- roles:指定用户的角色。数组的元素必须是对象,且包含两个属性(role-权限,db-已经存在的数据库)

1.创建数据库

use server1
db.server1.insert(obj);

【注意】数据库创建,必须要插入一条数据后,show dbs命令才会显示,数据库已经添加.

2.查看数据库

show dbs//查看所有数据库
db//查看当前数据库

【注意】这个操作并不会显示系统所有的数据库,而只显示当前登录用户被授权的数据库。

3.删除数据库

db.dropDatabase()//删除当前数据库

4.创建集合

db.createCollection(name, options)
db.createCollection("mycol", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )
123

参数说明:

  • name: 要创建的集合名称
  • options: 可选参数, 指定有关内存大小及索引的选项
字段类型描述
capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。 当该值为 true 时,必须指定 size 参数。
autoIndexId布尔(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size数值(可选)为固定集合指定一个最大值(以字节计)。 如果 capped 为 true,也需要指定该字段。
max数值(可选)指定固定集合中包含文档的最大数量。

5.查看集合

show collections

6.删除集合

db.collection.drop()

7.插入文档

MongoDB 使用 insert() 或 save() 方法向集合中插入文档.

db.COLLECTION_NAME.insert(document)
db.COLLECTION_NAME.save(document)
db.COLLECTION_NAME.insertMany([{"b": 3}, {'c': 4}])

【注意】:

  1. 如果插入数据是不存在的集合,将会自动创建集合。
  2. insert: 若新增数据的主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常提示主键重复,不保存当前数据。
  3. save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。

8.查询文档

db.collection.find(query, projection)
  • query :可选,使用查询操作符指定查询条件
操作格式范例RDBMS中的类似语句
等于{:}db.col.find({"by":"测试"}).pretty()where by = '测试'
小于{:{$lt:}}db.col.find({"likes":{$lt:50}}).pretty()where likes < 50
小于或等于{:{$lte:}}db.col.find({"likes":{$lte:50}}).pretty()where likes <= 50
大于{:{$gt:}}db.col.find({"likes":{$gt:50}}).pretty()where likes > 50
大于或等于{:{$gte:}}db.col.find({"likes":{$gte:50}}).pretty()where likes >= 50
不等于{:{$ne:}}db.col.find({"likes":{$ne:50}}).pretty()where likes != 50
数据类型{:{$type:}}db.col.find({"likes":{$type:1}}).pretty()where likes != 50

SpringBoot操作MongoDB

<dependency>
	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mongodb</artifactId>
</dependency>
spring:
	data:
		mongodb:
			host: 192.168.1.1
			databasse: testDB
@Document(collection="entity")
public class Entity{  //创建实体类
	@Id
    private Long id;
    private String fieldOne;
    private String fieldTwo;
}
public interface testDao{ //创建数据访问接口
    void save(Entity field);
    void update(Entity  field)
        List<Entity> findAll();
    void delete(Integer id);
}
@Component
public class TestDaoImpl implements testDao{
    @Autowired
    private MongoTemplate mongoTemplate;
    
       /**
     * 保存信息
     * @param entity
     */
   @Override
    public void save(Entity entity){
        mongoTemplate.save(entity);
    }
    
    /**
     * 修改信息
     * @param student
     */
    @Override
    public void update(Student student) {
        //修改的条件
        Query query = new Query(Criteria.where("id").is(student.getId()));
        //修改的内容
        Update update = new Update();
        update.set("name",student.getName());
        mongoTemplate.updateFirst(query,update,Student.class);
    }
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值