mongodb笔记

MongoDB是一个高性能的NOSQL数据库,基于分布式文件存储,适合web应用。其特点是模式自由、面向集合存储、完整索引支持、复制与高可用性、自动分片、丰富的查询方式和快速更新。MongoDB的数据结构为键值对的文档,文档存储在集合中,集合隶属于数据库。基本操作包括创建、查询和更新文档。
摘要由CSDN通过智能技术生成
简介

monggdb是一个基于分布式,文件存储的NOSQL数据库
由C++编写运行稳定,性能高
目的是为web应用提供可扩展的高性能数据存储解决方案

特点

1.模式自由:可以把不同结构的文档存储在同一个数据库里
2.面向集合的存储:适合存储json风格文件的的形式
3.完整的索引支持:对任何属性可索引
4.复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的
相互复制,复制的主要目的是提供冗余及自动故障转移
5.自动分片:支持云级别的伸缩性;自动分片功能支持水平的数据库集群,可动态
添加额外的机器
6.丰富的查询:支持丰富的查询表达方式,查询指令使用json形式的标记,可轻易
查询文档中的内嵌的对象及数组
7.快速就地更新:查询优化器分析查询表达式,并生成一个高效的查询计划
8.高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)

基本操作

1.MongoDB将数据存储为一个文档,数据结构由键值(keyvalue)对组成
2.MongoDB文档类似于json对象,字段值可以包含其他文档,数组,文档数组

sqlmongodb解释
databasedatabase数据库
tablecollection表/集合
rowdocument数据库行/文档
columnfield数据库列/域
table joins表连接
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

三元素:数据库,集合,文档
文档,就是一个对象,由键值对构成,是json的扩展Bson形式
集合:类似于关系数据库中的表,储存多个文档,结构不固定
数据库:是一个集合的物理容器。
在mongodb中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在集合或者数据库不存在,就会自动创建数据库和集合

指令作用
show dbs /show databases显示所有数据库
use 数据库名如果数据库不存在,则创建数据库,否则切换到指定数据库,
db显示当前数据库
show collections显示当前数据库中所有的集合(表)
插入指令
db.集合名.insert(doc)当前数据库.集合(表).插入文档(必须键值对,如果有多对字典,则insert([{},{}]))
查询指令
db.集合名.find()返回该集合中所有文档
db.集合名.find({‘name’=‘zhangsan’})返回所有符合条件的文档,以列表的形势返回
db.集合名.findOne()返回符合条件的第一个文档
db.集合名.find().count()/db.集合名.find().length()返回集合长度(文档数)
修改指令
db.集合名.update(查询条件,新对象)默认情况下会使用新对象来替换旧的对象
db.stus.update({name:”lisi”},{$set:{age:40}})如果是set则更新,unset则删除值,但不删除键
db.集合名.updateMany()同时修改多个符合条件的文档
db.集合名.updateOne()修改第一个符合条件的文档
删除指令
db.集合名.remove()删除所有符合条件的文档,类似与find,但不同的是如果不传参数会报错
db.集合名.deleteOne()(删一个)
db.集合名.deleteMany()(删多个)
db.stus.remove({})删除所有文档
db.stus.drop()删除当前数据库的stus表
db.dropDatabase()删除当前数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值