MongoDB

MongoDB基础

MongoDB 是一个开源、高性能、无模式的 文档型数据库,最像关系型的非关系型数据库。

1、window安装

官网下载zip后解压缩即可。可以下载compass图形界面软件连接。

启动mongodb

在安装目录的bin目录下进入cmd模式

1、命令行参数方式启动

mongod --dbpath=…\data\db

…\data\db ,是自定义数据库存储位置,为相对路径

2、配置文件方式启动【需要提前准备好配置文件】

在解压目录新建config目录,添加mongod.conf配置文件,内如参考如下:

storage:
    dbPath: D:\Enviroment\mongoDB\mongodb-win32-x86_64-windows-5.0.4\data\db

启动命令:

mongod -f …/config/mongod.conf 或

mongod --config …/config/mongod.conf

(注意cmd命令模式是在bin目录下,所以这里用了相对地址)

2、linux安装

1、官网下载gaz压缩包,解压到/usr/local/mongodb目录

tart -xvf …

2、新建几个目录存储数据和日志

mkdir -p /mongodb/single/data/db

mkdir -p /mongodb/single/log

3、配置文件

vi /mongldb/single/mongod.conf

配置文件内容:

systemLog:
	#MongoDB发送所有日志输出目标指定为文件
	destination: file
	#mongod或mongos应向器发送所有诊断日志记录信息的日志文件的路径
	path: "/mongodb/single/log/mongod.log"
	#当mongos或mongod实例重启时,将新条目附加到现有日志文件末尾
	logAppend: true
storage:
	dbPath: "/mongodb/single/data/db"
	joburnal:
		enabled: true
processManagement:
	#启动在后台运行的mongos或mongod进程守护进程模式
	fork: true
net:
	#服务实例绑定的IP,默认localhost,192.168.0.3为服务器内外局域网ip
	bindIp: localhost,192.168.0.3
	port: 27017
	
	
# 集群使用
replication:
	#副本集名称
	replSetName: myrs

3、基础命令使用

1 show dbs \ show databases
列出数据库
2 use [数据库名]
切换到【】数据库,如果该数据库不存在,则隐式创建数据库
【注意】此时 show dbs ,查询不到该数据库,因为该数据库为空,数据库只创建于内存,没有写到磁盘,所以不会显示该数据库。
3 db.dropDatabase()

集合【表】

1 db.creatCollection(“name”) 创建集合
2 show collection 显示集合
3 db.collectionname.insert({“title”:“one”,“num”: 1}) // 集合不存在时,隐式创建集合,再给集合添加文档数据
查询
1、db.[name].find() 查询所有文档
2、db.[].find({“title”:“one”}) 条件查询,title为one的数据
3、db.[].findOne(…) 查询一条数据
4、db.[name].insertMany([])** 多条数据同时**插入
【注意】批量插入数据时,出错后不会回滚,可以用try…catch… ,捕获出错的数据

try{
	db.[].insertMany([{},{}]);
} catch(e){
	print(e);
}

{“id”:1,title:“one”,num:10}
修改
1 文档更新
db.[].update({{id:“1”},{title:“test”}}) # 直接替换更新,其他没修改的数据也将给覆盖
覆盖后的数据为{“id”:1,title:“test”}
2 局部更新 KaTeX parse error: Expected '}', got 'EOF' at end of input: …date({id:"1"},{set:{title:“set”}}) 只改动有点部分的数据
更新后{“id”:1,title:“set”,num:10}
【注意】默认只修改查询到的第一条数据,如果需要查询所有符合条件的数据需要加上参数multi:true
例:

db.[].update({"num":10},{$set:{title:"set"},{multi:true})

3 自增

db.name.update(
{
	id: 3
},
{
	$inc: {likenum:NumberInt(1)}
}
)
 # 点赞人数+1

删除
db.name.remove(条件)
db.name.remove({}) # 空条件,删除所有

4进阶

分页、统计、比较查询、包含查询、条件查询、排序查询
索引

分片

路由、配置、分片数据库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值