MongoDB学习笔记

collention设置主键

collection.create_index('goods_id', unique=True)

ubuntu直接安装mongodb

https://www.cnblogs.com/shileima/p/7823434.html

sudo apt-get install mongodb
装好以后应该会自动运行mongod程序,通过"pgrep mongo -l "查看进程是否已经启动

启动/关闭服务
sudo service mongodb start/stop
查看状态
systemctl status mongodb

后台启动mongodb
建立两文件夹  /data/db(这是mongo默认存储路径)  /data/log
mongod -auth --logpath /data/log --bind_ip_all --fork
(tmd找不到配置文件)

使用Studio 3T时得注意连接的加密方式在这里插入图片描述

collection名字后面带个’\n’,会出问题,得注意⚠️

卸载MongoDB

https://blog.csdn.net/zqx1205/article/details/75314266
yum install mongodb-org (按TAB)
systemctl start mongod

https://blog.csdn.net/qq_383698639/article/details/79446333

查看selinux状态:
/usr/sbin/sestatus

Docker MongoDB 部署

https://www.jianshu.com/p/6fdb2bcb4b43
MongoDB有两种启动方式,一是默认启动,二是指定配置文件启动。

docker run -p 27017:27017 -v /home/xj.chen/MyApplications/mongodb_file:/data/db --name docker_mongodb -d mongo
docker run -p 27017:27017 -v /home/xj.chen/MyApplications/mongodb_file:/data/db --name docker_mongodb -d mongo --auth
docker start xxxxx
db.createUser({user: 'root', pwd: 'xxxxxx', roles: [{role: 'dbOwner', db: 'mytest'}] })
docker exec -it docker_mongodb mongo(admin) # 不打admin 进去需要use admin
密码启动
docker run -p 27017:27017 -v /root/mongodb_file:/data/db --name docker_mongodb -d mongo --auth
show dbs(没数据)
db.createUser({user:"root",pwd:"xxxxxx",roles:["root"]})
use admin
db.auth("root","xxxxxx")
show dbs(有数据了)

docker mongo 备份

备份指定数据库,但备份文件在容器里
 docker exec -it docker_mongodb_no_auth mongodump --db Lazada_FBL_shop_db --out /mongo_backup
 
备份所有数据库 (不加-d/--db参数会备份所有数据库)
docker exec -it docker_mongodb_no_auth mongodump --out /mongo_backup

 
docker 进入容器内部
sudo docker exec -it docker_mongodb_no_auth /bin/bash

压缩文件夹
tar -zcvf mongo_backup.tar.gz /mongo_backup/

回到宿主机
exit

把容器里的文件拷贝出来
docker cp docker_mongodb_no_auth:/mongo_backup.tar.gz `pwd`
`pwd`为当前所在宿主机目录

解压
tar -zxvf mongo_backup.tar.gz

恢复数据
mongorestore -h 127.0.0.1:27017 -d mongo_backup dir

windows下MongoDB可能缺失很多工具,需单独下载。
MongoDB Database Tools,下载后放到bin文件夹。

Mongo设置唯一字段

https://www.jianshu.com/p/adedee065c28
为指定字段创建唯一值索引
在MongoDB中_id字段默认时唯一值索引字段,它永远不会重复,我其实们也可以添加其他字段为唯一值索引字段,创建代码如下:

# 单个字段唯一索引
db.collection.createIndex({name:1},{unique:true}

如需要多个字段联合唯一索引,可参照如下方式:

# 多个字段联合索引示例	
db.collection.createIndex({name_one:1,name_two:1},{unique:true})

正则查询

{url: {$regex: 'https://www.baidu.*'}}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值